@gameroom/gameroom-kit
Version:
Node kit for the Gameroom API
54 lines (52 loc) • 2.02 kB
JavaScript
let chai = require('chai'),
should = chai.should(),
faker = require('faker'),
{ lib } = require('../../'),
{ Expression, Filter } = lib;
describe('Filter', () => {
describe('new Filter()', () => {
it('should create a new Filter with default values', () => {
let filter = new Filter();
should.exist(filter);
should.equal(filter.expression.comparison, null);
should.equal(filter.expression.key, null);
should.equal(filter.expression.value, null);
});
});
describe('new Filter({ expression })', () => {
it('should create a new Filter with provided values', () => {
let comparison = faker.random.word();
let key = faker.random.word();
let value = faker.random.word();
let filter = new Filter({ comparison, key, value });
should.exist(filter);
filter.expression.comparison.should.equal(comparison);
filter.expression.key.should.equal(key);
filter.expression.value.should.equal(value);
});
});
describe('new Filter({ and: [] })', () => {
it('should create a new and Filter with provided values', () => {
let comparison = faker.random.word();
let key = faker.random.word();
let value = faker.random.word();
let filter = new Filter({ and: [{ expression: { comparison, key, value } }] });
should.exist(filter);
filter.and[0].comparison.should.equal(comparison);
filter.and[0].key.should.equal(key);
filter.and[0].value.should.equal(value);
});
});
describe('new Filter({ or: [] })', () => {
it('should create a new or Filter with provided values', () => {
let comparison = faker.random.word();
let key = faker.random.word();
let value = faker.random.word();
let filter = new Filter({ or: [{ expression: { comparison, key, value } }] });
should.exist(filter);
filter.or[0].comparison.should.equal(comparison);
filter.or[0].key.should.equal(key);
filter.or[0].value.should.equal(value);
});
});
});