Files
habitica/test/common/fns/ultimateGear.js
Sabe Jones d323be19c6 Mystery Items 2016/10 (#8169)
* feat(content): mystery items 2016-10

* chore(news): Bailey 2016-10-25
Also ends the Enchanted Armoire A/B test.

* fix(armoire): failing tests from A/B conclusion
2016-10-25 16:16:00 -05:00

63 lines
1.7 KiB
JavaScript

import ultimateGear from '../../../website/common/script/fns/ultimateGear';
import {
generateUser,
} from '../../helpers/common.helper';
describe('shared.fns.ultimateGear', () => {
let user;
beforeEach(() => {
user = generateUser();
user.achievements.ultimateGearSets.toObject = function () {
return this;
};
user.addNotification = sinon.spy();
});
it('sets armoirEnabled when partial achievement already achieved', () => {
let items = {
gear: {
owned: {
toObject: () => {
return {
armor_warrior_5: true, // eslint-disable-line camelcase
shield_warrior_5: true, // eslint-disable-line camelcase
head_warrior_5: true, // eslint-disable-line camelcase
weapon_warrior_6: true, // eslint-disable-line camelcase
};
},
},
},
};
user.items = items;
ultimateGear(user);
expect(user.flags.armoireEnabled).to.equal(true);
expect(user.addNotification).to.be.calledOnce;
expect(user.addNotification).to.be.calledWith('ULTIMATE_GEAR_ACHIEVEMENT');
});
it('does not set armoireEnabled when gear is not owned', () => {
user.flags.armoireEnabled = false;
let items = {
gear: {
owned: {
toObject: () => {
return {
armor_warrior_5: true, // eslint-disable-line camelcase
shield_warrior_5: true, // eslint-disable-line camelcase
head_warrior_5: true, // eslint-disable-line camelcase
weapon_warrior_6: false, // eslint-disable-line camelcase
};
},
},
},
};
user.items = items;
ultimateGear(user);
expect(user.flags.armoireEnabled).to.equal(false);
});
});