- Test a Reducer
-
Create the file
src\projects\state\__tests__\projectReducer-test.js
-
Add the following code to test the updating of a project.
import { projectReducer, initialProjectState } from '../projectReducer'; import { SAVE_PROJECT_SUCCESS } from '../projectTypes'; import { Project } from '../../Project'; import { MOCK_PROJECTS } from '../../MockProjects'; describe('project reducer', () => { test('should update an existing project', () => { const project = MOCK_PROJECTS[0]; const updatedProject = Object.assign(new Project(), project, { name: project.name + ' updated', }); const currentState = { ...initialProjectState, projects: [project] }; const updatedState = { ...initialProjectState, projects: [updatedProject], }; expect( projectReducer(currentState, { type: SAVE_PROJECT_SUCCESS, payload: updatedProject, }) ).toEqual(updatedState); }); });
-
Verify the test passes.
PASS src/projects/state/__tests__/projectReducer-test.js