Skip to content

Commit ac07973

Browse files
Merge pull request #2973 from OneCommunityGlobal/sheetal-unit-test-teams-team-members-reducer
Sheetal M - Add unit test for teamsTeamMembersReducer File
2 parents bcc2a48 + 8b6773e commit ac07973

1 file changed

Lines changed: 91 additions & 0 deletions

File tree

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import { RECEIVE_TEAM_USERS, TEAM_MEMBER_ADD, TEAM_MEMBER_DELETE, FETCH_TEAM_USERS_START } from '../../constants/allTeamsConstants';
2+
import { teamUsersReducer, updateObject } from '../teamsTeamMembersReducer'
3+
4+
const teamUsersInitial = {
5+
fetching: false,
6+
fetched: false,
7+
teamMembers: [],
8+
status: 404
9+
};
10+
11+
const teamMembers = {
12+
teamMembers: [{
13+
_id: '1',
14+
firstName: 'First name',
15+
lastName: 'Last name',
16+
jobTitle: [''],
17+
teams: [],
18+
projects: ['p1', 'p2']
19+
}]
20+
};
21+
22+
describe('Teams Team Members Reducer', () => {
23+
24+
it('Should receive team users', () => {
25+
26+
const expectedState = { teamMembers:{}, fetching: false, fetched: true, status: '200'};
27+
const action = {
28+
payload: {},
29+
type:RECEIVE_TEAM_USERS
30+
};
31+
32+
const result = teamUsersReducer( teamMembers, action );
33+
expect(result).toEqual(expectedState);
34+
35+
});
36+
37+
it('Should add team member to team', () => {
38+
39+
const action = {
40+
member: { _id: '2', firstName: 'First name', lastName: 'Last name' },
41+
type:TEAM_MEMBER_ADD
42+
};
43+
44+
const expectedResult = {
45+
teamMembers:[...teamMembers.teamMembers, action.member],
46+
fetching: false,
47+
fetched: true,
48+
status: '200'
49+
};
50+
51+
const result = teamUsersReducer(teamMembers, action);
52+
expect(result).toEqual(expectedResult);
53+
54+
});
55+
56+
it('Should delete member from team', () => {
57+
58+
const action = {
59+
member: { _id: '2', firstName: 'First name', lastName: 'Last name' },
60+
type: TEAM_MEMBER_DELETE
61+
};
62+
63+
const expectedResult = {
64+
teamMembers:[...teamMembers.teamMembers.filter(item => item._id !== action.member._id)],
65+
fetching: false,
66+
fetched: true,
67+
status: '200'
68+
};
69+
70+
const result = teamUsersReducer(teamMembers, action);
71+
expect(result).toEqual(expectedResult);
72+
73+
});
74+
75+
it('Should fetch teams user start', () => {
76+
77+
const expectedResult = updateObject(teamMembers, {fetching: true, fetched: false});
78+
79+
const result = teamUsersReducer( teamMembers,{ type: FETCH_TEAM_USERS_START } );
80+
expect(result).toEqual(expectedResult);
81+
82+
});
83+
84+
it('Should return initial teamMembers in default case ', () =>{
85+
86+
const result = teamUsersReducer( teamMembers, {} );
87+
expect(result).toEqual(teamMembers);
88+
89+
});
90+
91+
})

0 commit comments

Comments
 (0)