'use strict'; const assert = require('./../../assert'); const common = require('./../../common'); let battle; describe('Sleep Clause Mod', () => { afterEach(() => battle.destroy()); it('should prevent players from putting more than one of foe\'s Pokemon to sleep', () => { battle = common.createBattle({ sleepClause: true }); battle.setPlayer('p1', { team: [{ species: "Paras", moves: ['spore'] }] }); battle.setPlayer('p2', { team: [{ species: "Magikarp", moves: ['splash'] }, { species: "Feebas", moves: ['splash'] }] }); battle.makeChoices('move spore', 'switch 2'); assert.equal(battle.p2.active[0].status, 'slp'); battle.makeChoices('move spore', 'switch 2'); assert.equal(battle.p2.active[0].status, ''); }); it('should not prevent Rest', () => { battle = common.createBattle({ sleepClause: true }); battle.setPlayer('p1', { team: [{ species: "Paras", moves: ['spore', 'tackle'] }] }); battle.setPlayer('p2', { team: [{ species: "Feebas", moves: ['rest'] }, { species: "Magikarp", moves: ['splash'] }] }); battle.makeChoices('move spore', 'switch 2'); assert.equal(battle.p2.active[0].status, 'slp'); battle.makeChoices('move tackle', 'switch 2'); assert.equal(battle.p2.active[0].status, ''); battle.makeChoices('move tackle', 'move rest'); assert.equal(battle.p2.active[0].status, 'slp'); }); });