tengo esta funcion:
export const setData = (a, b) => (b !== undefined ? { a, b } : { a }); export const processData = arr => { const obj = {}; arr.forEach(item => obj[item[0]] = val => setData(item[1], val); return obj; };La forma en que uso esta función es así:
const data = [ ['setSomething', 'SET_SOMETHING'], ['setAnotherThing', 'SET_ANOTHER_THING'] ]; const setters = processData(data); y luego puedo llamarlos como setters.setSomething() o setters.setSomething(1234) .
¿Cómo puedo probar esto con Jest? Pensé en esto:
const mocked = [ ['setSomething', 'SET_SOMETHING'], ['setAnotherThing', 'SET_ANOTHER_THING'], ]; const result = processData(mocked); expect(result).toEqual({ setSomething: () => {} setAnotherThing: () => {} });Pero falla diciendo esto:
Expected: "setSomething": [Function setSomething], "setAnotherThing": [Function setAnotherThing], Received: "setSomething": [Function anonymous], "setAnotherThing": [Function anonymous],¿Alguna forma de probar esto?