mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37:25 +01:00
* move remaining files frm /common/script/public to website/public * remove localstorage * add back noscript template and put all javascript in the footer * fixes client side tests * remove double quotes where possible * simplify jade code and add tests for buildManifest * loading page with logo and spinner * better loading screen in landscape mode * icon on top of text logo * wip: user.notifications * notifications: simpler and working code * finish implementing notifications * correct loading screen css and re-inline images * add tests for user notifications * split User model in multiple files * remove old comment about missing .catch() * correctly setup hooks and methods for User model. Cleanup localstorage * include UserNotificationsService in static page js and split loading-screen css in its own file * add cron notification and misc fixes * remove console.log * fix tests * fix multiple notifications
62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
import ultimateGear from '../../../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 armoirEnabled when gear is not owned', () => {
|
|
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);
|
|
});
|
|
});
|