'use strict';

const assert = require('./../../assert');
const common = require('./../../common');

let battle;

describe('Magnetic Flux', () => {
	afterEach(() => {
		battle.destroy();
	});

	it('should boost the Defense and Special Defense of all active allies with Plus or Minus', () => {
		battle = common.gen(5).createBattle({ gameType: 'triples' }, [[
			{ species: "Minun", ability: 'minus', moves: ['sleeptalk'] },
			{ species: "Klinklang", ability: 'plus', moves: ['magneticflux'] },
			{ species: "Pyukumuku", ability: 'innardsout', moves: ['sleeptalk'] },
		], [
			{ species: "Plusle", ability: 'plus', moves: ['sleeptalk'] },
			{ species: "Klinklang", ability: 'minus', moves: ['magneticflux'] },
			{ species: "Pyukumuku", ability: 'innardsout', moves: ['sleeptalk'] },
		]]);
		battle.makeChoices('move sleeptalk, move magneticflux, move sleeptalk', 'move sleeptalk, move magneticflux, move sleeptalk');
		for (const active of battle.getAllActive()) {
			if (active.name === 'Pyukumuku') continue;
			assert.statStage(active, 'def', 1);
			assert.statStage(active, 'spd', 1);
		}
	});
});
