common util selectItem signature update; common util test update
This commit is contained in:
1 parent
62d710ea31
commit
78cbb576e3
2 files changed
+19
-3
No files matched your search
+1
-1
@@ -39,6 +39,6 @@ export function indexEquals(withNumber) {
|
||||
* @param byCondition
|
||||
* @param map
|
||||
*/
|
||||
export function selectItem(byCondition, map){
|
||||
export function selectItem(byCondition, map = i => i) {
|
||||
return (result, item) => byCondition(item) ? map(item): map(result)
|
||||
}
|
||||
+18
-2
@@ -4,14 +4,14 @@ import {selectItem} from '../../src/utils/common';
|
||||
describe('utils', () => {
|
||||
describe('common.js', () => {
|
||||
describe('selectItem', () => {
|
||||
let sample = [[1235, 'hello'], [2352, 'banana']];
|
||||
|
||||
it('should return a function', () => {
|
||||
let fn = selectItem();
|
||||
fn.should.be.type('function');
|
||||
});
|
||||
|
||||
it('should accept a function as a first parameter and use it as byCondition', () => {
|
||||
let sample = [[1235, 'hello'], [2352, 'banana']];
|
||||
|
||||
let fn = selectItem(
|
||||
i => i[0] === 2352 && i[1] === 'banana' && i.length === 2,
|
||||
i => i[1]
|
||||
@@ -22,6 +22,8 @@ describe('utils', () => {
|
||||
});
|
||||
|
||||
it('should accept a function as a second parameter and use it as mapping function', () => {
|
||||
let sample = [[1235, 'hello'], [2352, 'banana']];
|
||||
|
||||
let fn = selectItem(
|
||||
i => i[0] === 2352,
|
||||
i => i[1]
|
||||
@@ -30,6 +32,20 @@ describe('utils', () => {
|
||||
let result = sample.reduce(fn);
|
||||
result.should.be.equal('banana');
|
||||
});
|
||||
|
||||
it('should pass with one parameter', () => {
|
||||
let sample = ['hello', 'lol', 'banana'];
|
||||
|
||||
let result = sample.reduce(selectItem(i => i === 'banana'));
|
||||
result.should.be.equal('banana');
|
||||
});
|
||||
|
||||
it('should get a null in reduce result if reduce calls with second parameter that is null', () => {
|
||||
let sample = ['hello', 'lol', 'banana'];
|
||||
|
||||
let result = sample.reduce(selectItem(i => i === 'apple'), null);
|
||||
should.not.exist(result);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user