J'utilise Redux spread operator pour, espérons-le, conserver l'état en tant qu'objets immuables. Cependant, je parviens à faire échouer le test unitaire le plus simple.réducteur de base pouvant muter état de l'application
Je suppose que l'erreur est probablement liée à immutables, mais est-ce que je n'utilise pas correctement l'opérateur spread?
Voici mon unité test:
describe('app logic',() => {
it('initialises app',() => {
const newState = reducer(INITIAL_STATE, {type: "NEXT"})
const expectState = {
start: true,
render_component: null,
requests: {},
results: {},
}
console.log('newState', newState)
console.log('expected state', expectState)
expect(newState).to.equal(expectState)
})
})
et voici mon réducteur
export const INITIAL_STATE = {
start: false,
render_component: null,
requests: {},
results: {}
}
export const next = (state) => {
if (state === INITIAL_STATE) {
return {
...state,
start: true,
}
}
return state
}
export function reducer(state = INITIAL_STATE, action) {
switch (action.type) {
case 'NEXT':
return next(state)
default:
return state
}
}
j'imprimer les deux objets, et t Hé, regardez pareil. i obtenir l'erreur:
1) logique app initialise app:
AssertionError: expected { Object (start, render_component, ...) } to equal { Object (start, render_component, ...) }