mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 13:47:33 +01:00
* Refactor hasClass check to common so it can be used in shared & server-side code * Check that user has selected class before allocating stat points
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
import hasClass from '../../../website/common/script/libs/hasClass';
|
|
import { generateUser } from '../../helpers/common.helper';
|
|
|
|
describe('hasClass', () => {
|
|
it('returns false for user with level below 10', () => {
|
|
let userLvl9 = generateUser({
|
|
'stats.lvl': 9,
|
|
'flags.classSelected': true,
|
|
'preferences.disableClasses': false,
|
|
});
|
|
|
|
let result = hasClass(userLvl9);
|
|
|
|
expect(result).to.eql(false);
|
|
});
|
|
|
|
it('returns false for user with class not selected', () => {
|
|
let userClassNotSelected = generateUser({
|
|
'stats.lvl': 10,
|
|
'flags.classSelected': false,
|
|
'preferences.disableClasses': false,
|
|
});
|
|
|
|
let result = hasClass(userClassNotSelected);
|
|
|
|
expect(result).to.eql(false);
|
|
});
|
|
|
|
it('returns false for user with classes disabled', () => {
|
|
let userClassesDisabled = generateUser({
|
|
'stats.lvl': 10,
|
|
'flags.classSelected': true,
|
|
'preferences.disableClasses': true,
|
|
});
|
|
|
|
let result = hasClass(userClassesDisabled);
|
|
|
|
expect(result).to.eql(false);
|
|
});
|
|
|
|
it('returns true for user with class', () => {
|
|
let userClassSelected = generateUser({
|
|
'stats.lvl': 10,
|
|
'flags.classSelected': true,
|
|
'preferences.disableClasses': false,
|
|
});
|
|
|
|
let result = hasClass(userClassSelected);
|
|
|
|
expect(result).to.eql(true);
|
|
});
|
|
});
|