Skip to content

Commit 147cede

Browse files
committed
Fixed units in src/projectMembers/create.spec.js
1 parent e8268b5 commit 147cede

File tree

1 file changed

+77
-25
lines changed

1 file changed

+77
-25
lines changed

src/routes/projectMembers/create.spec.js

Lines changed: 77 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -62,29 +62,46 @@ describe('Project Members create', () => {
6262

6363
it('should return 201 when invited then accepted and then 404 if user is already as a member', (done) => {
6464
const mockHttpClient = _.merge(testUtil.mockHttpClient, {
65-
get: () => Promise.resolve({
66-
status: 200,
67-
data: {
68-
id: 'requesterId',
69-
version: 'v3',
70-
result: {
71-
success: true,
72-
status: 200,
73-
content: [{
74-
roleName: USER_ROLE.COPILOT,
75-
}],
65+
get: (url) => {
66+
const testCopilot = {
67+
userId: 40051332,
68+
handle: 'test_copilot1',
69+
firstName: 'Firstname',
70+
lastName: 'Lastname',
71+
email: 'test_copilot1@email.com',
72+
};
73+
const testRoleName = {
74+
roleName: USER_ROLE.COPILOT_MANAGER,
75+
};
76+
const ret = {
77+
status: 200,
78+
data: {
79+
id: 'requesterId',
80+
version: 'v3',
81+
result: {
82+
success: true,
83+
status: 200,
84+
content: [],
85+
},
7686
},
77-
},
78-
}),
87+
};
88+
89+
if (url.indexOf('/_search') >= 0) {
90+
ret.data.result.content.push(testCopilot);
91+
} else {
92+
ret.data.result.content.push(testRoleName);
93+
}
94+
return Promise.resolve(ret);
95+
},
7996
});
8097
sandbox.stub(util, 'getHttpClient', () => mockHttpClient);
8198
request(server)
82-
.post(`/v5/projects/${project1.id}/members/invite`)
99+
.post(`/v5/projects/${project1.id}/invites`)
83100
.set({
84101
Authorization: `Bearer ${testUtil.jwts.admin}`,
85102
})
86103
.send({
87-
userIds: [40051332],
104+
handles: ['test_copilot1'],
88105
role: 'copilot',
89106
})
90107
.expect('Content-Type', /json/)
@@ -98,14 +115,14 @@ describe('Project Members create', () => {
98115
resJson.role.should.equal('copilot');
99116
resJson.projectId.should.equal(project1.id);
100117
resJson.userId.should.equal(40051332);
118+
should.exist(resJson.id)
101119
server.services.pubsub.publish.calledWith('project.member.invite.created').should.be.true;
102120
request(server)
103-
.put(`/v5/projects/${project1.id}/members/invite`)
121+
.patch(`/v5/projects/${project1.id}/invites/${resJson.id}`)
104122
.set({
105123
Authorization: `Bearer ${testUtil.jwts.connectAdmin}`,
106124
})
107125
.send({
108-
userId: 40051332,
109126
status: 'accepted',
110127
})
111128
.expect('Content-Type', /json/)
@@ -123,12 +140,11 @@ describe('Project Members create', () => {
123140
server.services.pubsub.publish.calledWith('project.member.added').should.be.true;
124141

125142
request(server)
126-
.put(`/v5/projects/${project1.id}/members/invite`)
143+
.patch(`/v5/projects/${project1.id}/invites/${resJson.id}`)
127144
.set({
128145
Authorization: `Bearer ${testUtil.jwts.connectAdmin}`,
129146
})
130147
.send({
131-
userId: 40051332,
132148
status: 'accepted',
133149
})
134150
.expect('Content-Type', /json/)
@@ -138,7 +154,7 @@ describe('Project Members create', () => {
138154
done(err3);
139155
} else {
140156
const errorMessage = _.get(res3.body, 'message', '');
141-
sinon.assert.match(errorMessage, /.*invite not found for project id 1, email undefined and userId/);
157+
sinon.assert.match(errorMessage, /.*invite not found for project id 1, inviteId/);
142158
done();
143159
}
144160
});
@@ -279,27 +295,63 @@ describe('Project Members create', () => {
279295
});
280296

281297
it('should send correct BUS API messages when copilot added', (done) => {
298+
const mockHttpClient = _.merge(testUtil.mockHttpClient, {
299+
get: (url) => {
300+
const testCopilot = {
301+
userId: 40051332,
302+
handle: 'test_copilot1',
303+
firstName: 'Firstname',
304+
lastName: 'Lastname',
305+
email: 'test_copilot1@email.com',
306+
};
307+
const testRoleName = {
308+
roleName: USER_ROLE.COPILOT_MANAGER,
309+
};
310+
const ret = {
311+
status: 200,
312+
data: {
313+
id: 'requesterId',
314+
version: 'v3',
315+
result: {
316+
success: true,
317+
status: 200,
318+
content: [],
319+
},
320+
},
321+
};
322+
323+
if (url.indexOf('/_search') >= 0) {
324+
ret.data.result.content.push(testCopilot);
325+
} else {
326+
ret.data.result.content.push(testRoleName);
327+
}
328+
return Promise.resolve(ret);
329+
},
330+
});
331+
sandbox.stub(util, 'getHttpClient', () => mockHttpClient);
282332
request(server)
283-
.post(`/v5/projects/${project1.id}/members/invite`)
333+
.post(`/v5/projects/${project1.id}/invites`)
284334
.set({
285335
Authorization: `Bearer ${testUtil.jwts.admin}`,
286336
})
287337
.send({
288-
userIds: [40051332],
338+
handles: ['test_copilot1'],
289339
role: 'copilot',
290340
})
291341
.expect(201)
292-
.end((err) => {
342+
.end((err, inviteRes) => {
293343
if (err) {
294344
done(err);
295345
} else {
346+
const inviteResJson = inviteRes.body.success[0];
347+
should.exist(inviteResJson)
348+
should.exist(inviteResJson.id)
296349
request(server)
297-
.put(`/v5/projects/${project1.id}/members/invite`)
350+
.patch(`/v5/projects/${project1.id}/invites/${inviteResJson.id}`)
298351
.set({
299352
Authorization: `Bearer ${testUtil.jwts.connectAdmin}`,
300353
})
301354
.send({
302-
userId: 40051332,
303355
status: 'accepted',
304356
})
305357
.expect('Content-Type', /json/)

0 commit comments

Comments
 (0)