This commit is contained in:
Matteo Pagliazzi
2018-02-27 22:02:12 +01:00
committed by GitHub
parent 892ba3b741
commit 3e723ec4de
2 changed files with 49 additions and 2 deletions

View File

@@ -352,7 +352,12 @@ describe('User Model', () => {
context('manage unallocated stats points notifications', () => {
it('doesn\'t add a notification if there are no points to allocate', async () => {
let user = new User();
user.flags.classSelected = true;
user.preferences.disableClasses = false;
user.stats.class = 'warrior';
user = await user.save(); // necessary for user.isSelected to work correctly
const oldNotificationsCount = user.notifications.length;
user.stats.points = 0;
@@ -363,6 +368,10 @@ describe('User Model', () => {
it('removes a notification if there are no more points to allocate', async () => {
let user = new User();
user.flags.classSelected = true;
user.preferences.disableClasses = false;
user.stats.class = 'warrior';
user.stats.points = 9;
user = await user.save(); // necessary for user.isSelected to work correctly
@@ -377,6 +386,9 @@ describe('User Model', () => {
it('adds a notification if there are points to allocate', async () => {
let user = new User();
user.flags.classSelected = true;
user.preferences.disableClasses = false;
user.stats.class = 'warrior';
user = await user.save(); // necessary for user.isSelected to work correctly
const oldNotificationsCount = user.notifications.length;
@@ -391,6 +403,9 @@ describe('User Model', () => {
it('adds a notification if the points to allocate have changed', async () => {
let user = new User();
user.stats.points = 9;
user.flags.classSelected = true;
user.preferences.disableClasses = false;
user.stats.class = 'warrior';
user = await user.save(); // necessary for user.isSelected to work correctly
const oldNotificationsCount = user.notifications.length;
@@ -406,6 +421,37 @@ describe('User Model', () => {
expect(user.notifications[0].data.points).to.equal(11);
expect(user.notifications[0].id).to.not.equal(oldNotificationsUUID);
});
it('does not add a notification if the user has disabled classes', async () => {
let user = new User();
user.stats.points = 9;
user.flags.classSelected = true;
user.preferences.disableClasses = true;
user.stats.class = 'warrior';
user = await user.save(); // necessary for user.isSelected to work correctly
const oldNotificationsCount = user.notifications.length;
user.stats.points = 9;
user = await user.save();
expect(user.notifications.length).to.equal(oldNotificationsCount);
});
it('does not add a notification if the user has not selected a class', async () => {
let user = new User();
user.stats.points = 9;
user.flags.classSelected = false;
user.stats.class = 'warrior';
user = await user.save(); // necessary for user.isSelected to work correctly
const oldNotificationsCount = user.notifications.length;
user.stats.points = 9;
user = await user.save();
expect(user.notifications.length).to.equal(oldNotificationsCount);
});
});
});