import { createEntityAdapter, EntityAdapter } from '@ngrx/entity'; import { LoadCaseNotesAction, LoadCaseNotesSuccessAction, } from '../actions/case-notes.action'; import { reducer, LocalState, initialState } from './case-notes.reducer'; import { CaseNotes } from '../models/case-notes/case-notes'; describe('Assessment Reducer', () => { let adapter: EntityAdapter; beforeEach(() => { adapter = createEntityAdapter({ selectId: (assessment: CaseNotes) => assessment.caseId, sortComparer: false, }); }); it('should let you get the initial state', () => { const testInitialState: LocalState = adapter.getInitialState(initialState); expect(testInitialState).toEqual({ ids: [], entities: {}, selectedAssessmentId: undefined, loadingAssessments: undefined, errors: undefined, }); }); describe('actions', () => { it('should LoadAssessmentAdd', () => { const action: LoadCaseNotesAction = new LoadCaseNotesAction(1517274); const updatedState: LocalState = reducer(initialState, action); expect(updatedState).toEqual({ ids: [], entities: {}, loadingAssessments: true, selectedAssessmentId: undefined, errors: undefined, }); }); it('should LoadAssessmentAddSuccess', () => { const action: LoadCaseNotesSuccessAction = new LoadCaseNotesSuccessAction(1); const updatedState: LocalState = reducer(initialState, action); expect(updatedState).toEqual({ ids: [], entities: {}, loadingAssessments: false, selectedAssessmentId: 1, errors: undefined, }); }); }); });