const ParamsCheck = require('params-check')
const funcContainer = ParamsCheck.funcContainer;
const adapter = (params, schema) => {
if(params.length == schema.numberOfParams) {
return {error:null}
}
return {error:'missing params!'}
};
const paramsCheck = new ParamsCheck(adapter);
const testFunc = (a, b, c) => a + b + c;
const validationRules = {
numberOfParams:3
}
const testedFunc = paramsCheck.withValidation(testFunc.name, validationRules, testFunc);
test('to throw', () => {
let isThrow = false;
funcContainer(()=>testedFunc(1, 2),(error)=> {console.log(error); isThrow = true;});
expect(isThrow).toBe(true);
});
test('to pass', () => {
expect(testedFunc(1, 2, 3)).toBe(6);
});