From b5bda757bcf293646758497cacafa2e2ad54fb2f Mon Sep 17 00:00:00 2001 From: GleidsonDaniel Date: Wed, 22 Dec 2021 09:27:40 -0300 Subject: [PATCH] test: add more selectedUsers tests --- __tests__/redux/selectedUsers.test.ts | 31 ++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/__tests__/redux/selectedUsers.test.ts b/__tests__/redux/selectedUsers.test.ts index fda0d0a89..189ff504c 100644 --- a/__tests__/redux/selectedUsers.test.ts +++ b/__tests__/redux/selectedUsers.test.ts @@ -1,20 +1,41 @@ -import { addUser } from '../../app/actions/selectedUsers'; +import { addUser, reset, setLoading, removeUser } from '../../app/actions/selectedUsers'; import { mockedStore } from '../../__mocks__/mockedStore'; -describe('test reducer', () => { +describe('test selectedUsers reducer', () => { const initialState = { users: [], loading: false }; + it('should return initial state', async () => { const state = mockedStore.getState().selectedUsers; expect(state).toEqual(initialState); }); - it('should return modified store after action', async () => { - const user = { _id: 'user.id', name: 'user.username', fname: 'user.name' }; + it('should return modified store after addUser', async () => { + const user = { _id: 'xxx', name: 'xxx', fname: 'xxx' }; mockedStore.dispatch(addUser(user)); + const state = mockedStore.getState().selectedUsers.users; + expect(state).toEqual([user]); + }); + + it('should return empty store after remove user', async () => { + const user = { _id: 'xxx', name: 'xxx', fname: 'xxx' }; + mockedStore.dispatch(removeUser(user)); + const state = mockedStore.getState().selectedUsers.users; + expect(state).toEqual([]); + }); + + it('should return initialState after reset', async () => { + mockedStore.dispatch(reset()); const state = mockedStore.getState().selectedUsers; - expect(state).toEqual({ loading: false, users: [user] }); + expect(state).toEqual(initialState); + }); + + it('should return loading after call action', async () => { + const user = { _id: 'user.id', name: 'user.username', fname: 'user.name' }; + mockedStore.dispatch(setLoading(true)); + const state = mockedStore.getState().selectedUsers.loading; + expect(state).toEqual(true); }); });