You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.7 KiB
52 lines
1.7 KiB
3 years ago
|
"use strict";
|
||
|
|
||
|
var _chai = require("chai");
|
||
|
|
||
|
var _selectParams = require("./select-params");
|
||
|
|
||
|
describe('selectParams', () => {
|
||
|
const params = {
|
||
|
name: 'John',
|
||
|
surname: 'Doe',
|
||
|
age: 31,
|
||
|
'meta.description': 'very ugly',
|
||
|
'meta.title': 'cto',
|
||
|
'meta.otherInfo': 'he stinks',
|
||
|
metadetaksamosone: 'this is a steroid'
|
||
|
};
|
||
|
it('selects params for given property', () => {
|
||
|
(0, _chai.expect)((0, _selectParams.selectParams)(params, 'age')).to.deep.equal({
|
||
|
age: 31
|
||
|
});
|
||
|
});
|
||
|
it('select params for nested property', () => {
|
||
|
(0, _chai.expect)((0, _selectParams.selectParams)(params, 'meta')).to.deep.equal({
|
||
|
'meta.description': 'very ugly',
|
||
|
'meta.title': 'cto',
|
||
|
'meta.otherInfo': 'he stinks'
|
||
|
});
|
||
|
});
|
||
|
it('returns empty object when there is no match', () => {
|
||
|
(0, _chai.expect)((0, _selectParams.selectParams)(params, 'nothingIsThere')).to.deep.eq({});
|
||
|
});
|
||
|
it('returns multiple properties when they are given', () => {
|
||
|
(0, _chai.expect)((0, _selectParams.selectParams)(params, ['name', 'surname'])).to.deep.equal({
|
||
|
name: 'John',
|
||
|
surname: 'Doe'
|
||
|
});
|
||
|
});
|
||
|
it('does not one property when is empty for multi-properties', () => {
|
||
|
(0, _chai.expect)((0, _selectParams.selectParams)(params, ['name', 'surname', 'meta', 'empty'])).to.deep.equal({
|
||
|
name: 'John',
|
||
|
surname: 'Doe',
|
||
|
'meta.description': 'very ugly',
|
||
|
'meta.title': 'cto',
|
||
|
'meta.otherInfo': 'he stinks'
|
||
|
});
|
||
|
});
|
||
|
it('does not throw an error when user passes undefined as a propertyPath', () => {
|
||
|
(0, _chai.expect)(() => {
|
||
|
(0, _selectParams.selectParams)(params, ['name', undefined]);
|
||
|
}).not.to.throw();
|
||
|
});
|
||
|
});
|