Merge branch 'mana-lvl-10' of https://github.com/TheHollidayInn/habitrpg into TheHollidayInn-mana-lvl-10

This commit is contained in:
Matteo Pagliazzi
2018-09-09 11:50:31 +02:00
3 changed files with 58 additions and 5 deletions

View File

@@ -0,0 +1,50 @@
import { shallowMount, createLocalVue } from '@vue/test-utils';
import NotificationsComponent from 'client/components/notifications.vue';
import Store from 'client/libs/store';
import { hasClass } from 'client/store/getters/members';
const localVue = createLocalVue();
localVue.use(Store);
describe.only('Notifications', () => {
let store;
beforeEach(() => {
store = new Store({
state: {
user: {
data: {
stats: {
lvl: 0,
},
flags: {},
preferences: {},
party: {
quest: {
},
},
},
},
},
actions: {
'user:fetch': () => {},
'tasks:fetchUserTasks': () => {},
},
getters: {
'members:hasClass': hasClass,
},
});
});
it('set user has class computed prop', () => {
const wrapper = shallowMount(NotificationsComponent, { store, localVue });
expect(wrapper.vm.userHasClass).to.be.false;
store.state.user.data.stats.lvl = 10;
store.state.user.data.flags.classSelected = true;
store.state.user.data.preferences.disableClasses = false;
expect(wrapper.vm.userHasClass).to.be.true;
});
});

View File

@@ -1,4 +1,4 @@
import {shallow} from '@vue/test-utils'; import { shallow } from '@vue/test-utils';
import SidebarSection from 'client/components/sidebarSection.vue'; import SidebarSection from 'client/components/sidebarSection.vue';

View File

@@ -198,6 +198,9 @@ export default {
userClassSelect () { userClassSelect () {
return !this.user.flags.classSelected && this.user.stats.lvl >= 10; return !this.user.flags.classSelected && this.user.stats.lvl >= 10;
}, },
userHasClass () {
return this.$store.getters['members:hasClass'](this.user);
},
invitedToQuest () { invitedToQuest () {
return this.user.party.quest.RSVPNeeded && !this.user.party.quest.completed; return this.user.party.quest.RSVPNeeded && !this.user.party.quest.completed;
}, },
@@ -244,9 +247,9 @@ export default {
}, },
userMp (after, before) { userMp (after, before) {
if (after === before) return; if (after === before) return;
if (!this.$store.getters['members:hasClass'](this.user)) return; if (!this.userHasClass) return;
let mana = after - before; const mana = after - before;
this.mp(mana); this.mp(mana);
}, },
userLvl (after, before) { userLvl (after, before) {
@@ -500,7 +503,7 @@ export default {
case 'CRON': case 'CRON':
if (notification.data) { if (notification.data) {
if (notification.data.hp) this.hp(notification.data.hp, 'hp'); if (notification.data.hp) this.hp(notification.data.hp, 'hp');
if (notification.data.mp) this.mp(notification.data.mp); if (notification.data.mp && this.userHasClass) this.mp(notification.data.mp);
} }
break; break;
case 'SCORED_TASK': case 'SCORED_TASK':