2020-01-13 01:03:22 -06:00
|
|
|
import {
|
|
|
|
initialTeamsState,
|
|
|
|
initialTeamState,
|
|
|
|
setSearchMemberQuery,
|
|
|
|
setSearchQuery,
|
|
|
|
teamGroupsLoaded,
|
|
|
|
teamLoaded,
|
|
|
|
teamMembersLoaded,
|
|
|
|
teamReducer,
|
|
|
|
teamsLoaded,
|
|
|
|
teamsReducer,
|
|
|
|
} from './reducers';
|
|
|
|
import { getMockTeam, getMockTeamGroups, getMockTeamMember } from '../__mocks__/teamMocks';
|
|
|
|
import { reducerTester } from '../../../../test/core/redux/reducerTester';
|
|
|
|
import { TeamsState, TeamState } from '../../../types';
|
2018-09-11 07:14:03 -05:00
|
|
|
|
|
|
|
describe('teams reducer', () => {
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when teamsLoaded is dispatched', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<TeamsState>()
|
|
|
|
.givenReducer(teamsReducer, { ...initialTeamsState })
|
|
|
|
.whenActionIsDispatched(teamsLoaded([getMockTeam()]))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialTeamsState,
|
|
|
|
hasFetched: true,
|
|
|
|
teams: [getMockTeam()],
|
|
|
|
});
|
|
|
|
});
|
2018-09-11 07:14:03 -05:00
|
|
|
});
|
|
|
|
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when setSearchQueryAction is dispatched', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<TeamsState>()
|
|
|
|
.givenReducer(teamsReducer, { ...initialTeamsState })
|
|
|
|
.whenActionIsDispatched(setSearchQuery('test'))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialTeamsState,
|
|
|
|
searchQuery: 'test',
|
|
|
|
});
|
|
|
|
});
|
2018-09-11 07:14:03 -05:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('team reducer', () => {
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when loadTeamsAction is dispatched', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<TeamState>()
|
|
|
|
.givenReducer(teamReducer, { ...initialTeamState })
|
|
|
|
.whenActionIsDispatched(teamLoaded(getMockTeam()))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialTeamState,
|
|
|
|
team: getMockTeam(),
|
|
|
|
});
|
|
|
|
});
|
2018-09-11 07:14:03 -05:00
|
|
|
});
|
|
|
|
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when loadTeamMembersAction is dispatched', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<TeamState>()
|
|
|
|
.givenReducer(teamReducer, { ...initialTeamState })
|
|
|
|
.whenActionIsDispatched(teamMembersLoaded([getMockTeamMember()]))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialTeamState,
|
|
|
|
members: [getMockTeamMember()],
|
|
|
|
});
|
|
|
|
});
|
2018-09-11 07:14:03 -05:00
|
|
|
});
|
|
|
|
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when setSearchMemberQueryAction is dispatched', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<TeamState>()
|
|
|
|
.givenReducer(teamReducer, { ...initialTeamState })
|
|
|
|
.whenActionIsDispatched(setSearchMemberQuery('member'))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialTeamState,
|
|
|
|
searchMemberQuery: 'member',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2018-09-11 07:14:03 -05:00
|
|
|
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when loadTeamGroupsAction is dispatched', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<TeamState>()
|
|
|
|
.givenReducer(teamReducer, { ...initialTeamState })
|
|
|
|
.whenActionIsDispatched(teamGroupsLoaded(getMockTeamGroups(1)))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialTeamState,
|
|
|
|
groups: getMockTeamGroups(1),
|
|
|
|
});
|
|
|
|
});
|
2018-09-11 07:14:03 -05:00
|
|
|
});
|
|
|
|
});
|