Skip to content

Commit 0718a23

Browse files
committed
Fixes based on feedback part 2.
1 parent c5c36a5 commit 0718a23

File tree

15 files changed

+402
-345
lines changed

15 files changed

+402
-345
lines changed

src/routes/phaseProducts/create.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ describe('Phase Products', () => {
188188
request(server)
189189
.post(`/v5/projects/${projectId}/phases/99999/products`)
190190
.set({
191-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
191+
Authorization: `Bearer ${testUtil.jwts.connectAdmin}`,
192192
})
193193
.send(body)
194194
.expect('Content-Type', /json/)
@@ -199,7 +199,7 @@ describe('Phase Products', () => {
199199
request(server)
200200
.post(`/v5/projects/${projectId}/phases/${phaseId}/products`)
201201
.set({
202-
Authorization: `Bearer ${testUtil.jwts.connectAdmin}`,
202+
Authorization: `Bearer ${testUtil.jwts.copilot}`,
203203
})
204204
.send(body)
205205
.expect('Content-Type', /json/)

src/routes/phases/update.spec.js

Lines changed: 19 additions & 205 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import busApi from '../../services/busApi';
1111
import messageService from '../../services/messageService';
1212
import RabbitMQService from '../../services/rabbitmq';
1313
import mockRabbitMQ from '../../tests/mockRabbitMQ';
14-
import { BUS_API_EVENT } from '../../constants';
14+
import {
15+
BUS_API_EVENT,
16+
RESOURCES,
17+
} from '../../constants';
1518

1619
const ES_PROJECT_INDEX = config.get('elasticsearchConfig.indexName');
1720
const ES_PROJECT_TYPE = config.get('elasticsearchConfig.docType');
@@ -63,7 +66,6 @@ describe('Project Phases', () => {
6366
let projectId;
6467
let phaseId;
6568
let phaseId2;
66-
let phaseId3;
6769
const memberUser = {
6870
handle: testUtil.getDecodedToken(testUtil.jwts.member).handle,
6971
userId: testUtil.getDecodedToken(testUtil.jwts.member).userId,
@@ -133,7 +135,6 @@ describe('Project Phases', () => {
133135
.then((createdPhases) => {
134136
phaseId = createdPhases[0].id;
135137
phaseId2 = createdPhases[1].id;
136-
phaseId3 = createdPhases[2].id;
137138

138139
done();
139140
});
@@ -184,7 +185,7 @@ describe('Project Phases', () => {
184185
request(server)
185186
.patch(`/v5/projects/${projectId}/phases/999`)
186187
.set({
187-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
188+
Authorization: `Bearer ${testUtil.jwts.admin}`,
188189
})
189190
.send(updateBody)
190191
.expect('Content-Type', /json/)
@@ -195,7 +196,7 @@ describe('Project Phases', () => {
195196
request(server)
196197
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
197198
.set({
198-
Authorization: `Bearer ${testUtil.jwts.manager}`,
199+
Authorization: `Bearer ${testUtil.jwts.admin}`,
199200
})
200201
.send({
201202
progress: -15,
@@ -208,7 +209,7 @@ describe('Project Phases', () => {
208209
request(server)
209210
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
210211
.set({
211-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
212+
Authorization: `Bearer ${testUtil.jwts.admin}`,
212213
})
213214
.send({
214215
endDate: '2018-05-13T00:00:00Z',
@@ -355,168 +356,24 @@ describe('Project Phases', () => {
355356
let createEventSpy;
356357
const sandbox = sinon.sandbox.create();
357358

359+
358360
before((done) => {
359361
// Wait for 500ms in order to wait for createEvent calls from previous tests to complete
360362
testUtil.wait(done);
361363
});
362364

365+
363366
beforeEach(() => {
364367
createEventSpy = sandbox.spy(busApi, 'createEvent');
365368
});
366369

370+
367371
afterEach(() => {
368372
sandbox.restore();
369373
});
370374

371-
it('should NOT send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when spentBudget updated', (done) => {
372-
request(server)
373-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
374-
.set({
375-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
376-
})
377-
.send({
378-
spentBudget: 123,
379-
})
380-
.expect('Content-Type', /json/)
381-
.expect(200)
382-
.end((err) => {
383-
if (err) {
384-
done(err);
385-
} else {
386-
testUtil.wait(() => {
387-
createEventSpy.calledOnce.should.be.true;
388-
389-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATE_PAYMENT);
390-
done();
391-
});
392-
}
393-
});
394-
});
395-
396375

397-
it('should NOT send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when progress updated', (done) => {
398-
request(server)
399-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
400-
.set({
401-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
402-
})
403-
.send({
404-
progress: 50,
405-
})
406-
.expect('Content-Type', /json/)
407-
.expect(200)
408-
.end((err) => {
409-
if (err) {
410-
done(err);
411-
} else {
412-
testUtil.wait(() => {
413-
createEventSpy.callCount.should.be.eql(1);
414-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED);
415-
done();
416-
});
417-
}
418-
});
419-
});
420-
421-
it('should NOT send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when details updated', (done) => {
422-
request(server)
423-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
424-
.set({
425-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
426-
})
427-
.send({
428-
details: {
429-
text: 'something',
430-
},
431-
})
432-
.expect('Content-Type', /json/)
433-
.expect(200)
434-
.end((err) => {
435-
if (err) {
436-
done(err);
437-
} else {
438-
testUtil.wait(() => {
439-
createEventSpy.calledOnce.should.be.true;
440-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATE_SCOPE);
441-
done();
442-
});
443-
}
444-
});
445-
});
446-
447-
it('should NOT send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when status updated (completed)', (done) => {
448-
request(server)
449-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
450-
.set({
451-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
452-
})
453-
.send({
454-
status: 'completed',
455-
})
456-
.expect('Content-Type', /json/)
457-
.expect(200)
458-
.end((err) => {
459-
if (err) {
460-
done(err);
461-
} else {
462-
testUtil.wait(() => {
463-
createEventSpy.calledOnce.should.be.true;
464-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_TRANSITION_COMPLETED);
465-
done();
466-
});
467-
}
468-
});
469-
});
470-
471-
it('should NOT send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when status updated (active)', (done) => {
472-
request(server)
473-
.patch(`/v5/projects/${projectId}/phases/${phaseId3}`)
474-
.set({
475-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
476-
})
477-
.send({
478-
status: 'active',
479-
})
480-
.expect('Content-Type', /json/)
481-
.expect(200)
482-
.end((err) => {
483-
if (err) {
484-
done(err);
485-
} else {
486-
testUtil.wait(() => {
487-
createEventSpy.calledOnce.should.be.true;
488-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_TRANSITION_ACTIVE);
489-
done();
490-
});
491-
}
492-
});
493-
});
494-
495-
it('should NOT send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when budget updated', (done) => {
496-
request(server)
497-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
498-
.set({
499-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
500-
})
501-
.send({
502-
budget: 123,
503-
})
504-
.expect('Content-Type', /json/)
505-
.expect(200)
506-
.end((err) => {
507-
if (err) {
508-
done(err);
509-
} else {
510-
testUtil.wait(() => {
511-
createEventSpy.calledOnce.should.be.true;
512-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED);
513-
done();
514-
});
515-
}
516-
});
517-
});
518-
519-
it('should send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when startDate updated', (done) => {
376+
it('should send message BUS_API_EVENT.PROJECT_PHASE_UPDATED when startDate updated', (done) => {
520377
request(server)
521378
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
522379
.set({
@@ -532,16 +389,21 @@ describe('Project Phases', () => {
532389
done(err);
533390
} else {
534391
testUtil.wait(() => {
535-
createEventSpy.calledOnce.should.be.true;
392+
// createEventSpy.calledOnce.should.be.true;
536393
createEventSpy.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED,
537-
sinon.match.has('startDate')).should.be.true;
394+
sinon.match({ resource: RESOURCES.PHASE })).should.be.true;
395+
createEventSpy.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED,
396+
sinon.match({ id: phaseId })).should.be.true;
397+
createEventSpy.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED,
398+
sinon.match({ updatedBy: testUtil.userIds.copilot })).should.be.true;
538399
done();
539400
});
540401
}
541402
});
542403
});
543404

544-
it('should send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when duration updated', (done) => {
405+
406+
it('should send message BUS_API_EVENT.PROJECT_PHASE_UPDATED when duration updated', (done) => {
545407
request(server)
546408
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
547409
.set({
@@ -565,54 +427,6 @@ describe('Project Phases', () => {
565427
}
566428
});
567429
});
568-
569-
it('should not send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when order updated', (done) => {
570-
request(server)
571-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
572-
.set({
573-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
574-
})
575-
.send({
576-
order: 100,
577-
})
578-
.expect('Content-Type', /json/)
579-
.expect(200)
580-
.end((err) => {
581-
if (err) {
582-
done(err);
583-
} else {
584-
testUtil.wait(() => {
585-
createEventSpy.calledOnce.should.be.true;
586-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED);
587-
done();
588-
});
589-
}
590-
});
591-
});
592-
593-
it('should not send message BUS_API_EVENT.PROJECT_PLAN_UPDATED when endDate updated', (done) => {
594-
request(server)
595-
.patch(`/v5/projects/${projectId}/phases/${phaseId}`)
596-
.set({
597-
Authorization: `Bearer ${testUtil.jwts.copilot}`,
598-
})
599-
.send({
600-
endDate: new Date(),
601-
})
602-
.expect('Content-Type', /json/)
603-
.expect(200)
604-
.end((err) => {
605-
if (err) {
606-
done(err);
607-
} else {
608-
testUtil.wait(() => {
609-
createEventSpy.calledOnce.should.be.true;
610-
createEventSpy.firstCall.calledWith(BUS_API_EVENT.PROJECT_PHASE_UPDATED);
611-
done();
612-
});
613-
}
614-
});
615-
});
616430
});
617431

618432
describe('RabbitMQ Message topic', () => {

src/routes/productCategories/create.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ module.exports = [
4040
});
4141

4242
// Check if duplicated key
43-
return models.ProductCategory.findByPk(req.body.key)
43+
return models.ProductCategory.findByPk(req.body.key, { paranoid: false })
4444
.then((existing) => {
4545
if (existing) {
4646
const apiErr = new Error(`Product category already exists for key ${req.params.key}`);

src/routes/productTemplates/upgrade.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ describe('UPGRADE product template', () => {
8686
]))
8787
.then(() => {
8888
const config = {
89-
questions: [{
89+
sections: [{
9090
id: 'appDefinition',
9191
title: 'Sample Project',
9292
required: true,

0 commit comments

Comments
 (0)