mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
120 lines
2.5 KiB
JavaScript
120 lines
2.5 KiB
JavaScript
import randomVal from '../../../common/script/fns/randomVal';
|
|
import {
|
|
generateUser,
|
|
} from '../../helpers/common.helper';
|
|
|
|
describe('shared.fns.randomVal', () => {
|
|
let user;
|
|
let obj = {
|
|
a: 1,
|
|
b: 2,
|
|
c: 3,
|
|
d: 4,
|
|
};
|
|
|
|
beforeEach(() => {
|
|
user = generateUser();
|
|
});
|
|
|
|
describe('returns a random property value from an object', () => {
|
|
it('returns the same value when the seed is the same', () => {
|
|
let val1 = randomVal(user, obj, {
|
|
seed: 222,
|
|
});
|
|
|
|
let val2 = randomVal(user, obj, {
|
|
seed: 222,
|
|
});
|
|
|
|
expect(val2).to.equal(val1);
|
|
});
|
|
|
|
it('returns the same value when user.stats is the same', () => {
|
|
user.stats.gp = 34;
|
|
let val1 = randomVal(user, obj);
|
|
let val2 = randomVal(user, obj);
|
|
|
|
expect(val2).to.equal(val1);
|
|
});
|
|
|
|
it('returns a different value when the seed is different', () => {
|
|
let val1 = randomVal(user, obj, {
|
|
seed: 222,
|
|
});
|
|
|
|
let val2 = randomVal(user, obj, {
|
|
seed: 333,
|
|
});
|
|
|
|
expect(val2).to.not.equal(val1);
|
|
});
|
|
|
|
it('returns a different value when user.stats is different', () => {
|
|
user.stats.gp = 34;
|
|
let val1 = randomVal(user, obj);
|
|
user.stats.gp = 343;
|
|
let val2 = randomVal(user, obj);
|
|
|
|
expect(val2).to.not.equal(val1);
|
|
});
|
|
});
|
|
|
|
describe('returns a random key from an object', () => {
|
|
it('returns the same key when the seed is the same', () => {
|
|
let key1 = randomVal(user, obj, {
|
|
key: true,
|
|
seed: 222,
|
|
});
|
|
|
|
let key2 = randomVal(user, obj, {
|
|
key: true,
|
|
seed: 222,
|
|
});
|
|
|
|
expect(key2).to.equal(key1);
|
|
});
|
|
|
|
it('returns the same key when user.stats is the same', () => {
|
|
user.stats.gp = 45;
|
|
let key1 = randomVal(user, obj, {
|
|
key: true,
|
|
});
|
|
|
|
let key2 = randomVal(user, obj, {
|
|
key: true,
|
|
});
|
|
|
|
expect(key2).to.equal(key1);
|
|
});
|
|
|
|
it('returns a different key when the seed is different', () => {
|
|
let key1 = randomVal(user, obj, {
|
|
key: true,
|
|
seed: 222,
|
|
});
|
|
|
|
let key2 = randomVal(user, obj, {
|
|
key: true,
|
|
seed: 333,
|
|
});
|
|
|
|
expect(key2).to.not.equal(key1);
|
|
});
|
|
|
|
it('returns a different key when user.stats is different', () => {
|
|
user.stats.gp = 45;
|
|
let key1 = randomVal(user, obj, {
|
|
key: true,
|
|
});
|
|
|
|
user.stats.gp = 43;
|
|
|
|
let key2 = randomVal(user, obj, {
|
|
key: true,
|
|
});
|
|
|
|
expect(key2).to.not.equal(key1);
|
|
});
|
|
});
|
|
});
|