|
| 1 | +import { Prisma } from '@prisma/client'; |
| 2 | + |
1 | 3 | import { |
2 | 4 | TEST_CURRENT_CONTEXT, |
3 | 5 | TEST_ELECTRIFICATION_INTAKE, |
@@ -36,7 +38,6 @@ import { uuidv4Pattern } from '../../../src/utils/regexp.ts'; |
36 | 38 | import type { Request, Response } from 'express'; |
37 | 39 | import type { |
38 | 40 | ActivityContact, |
39 | | - Contact, |
40 | 41 | Draft, |
41 | 42 | ElectrificationProject, |
42 | 43 | ElectrificationProjectIntake, |
@@ -570,28 +571,46 @@ describe('updateElectrificationProjectDraftController', () => { |
570 | 571 | describe('updateElectrificationProjectController', () => { |
571 | 572 | const updateSpy = jest.spyOn(electrificationProjectService, 'updateElectrificationProject'); |
572 | 573 |
|
| 574 | + // eslint-disable-next-line @typescript-eslint/no-unused-vars |
| 575 | + const { electrificationProjectId, ...rest } = TEST_ELECTRIFICATION_PROJECT_1; |
| 576 | + |
| 577 | + const UPDATED_BODY: Omit<ElectrificationProject, 'electrificationProjectId'> = { |
| 578 | + ...rest, |
| 579 | + projectName: 'NEW NAME' |
| 580 | + }; |
| 581 | + const UPDATED_PROJECT: ElectrificationProject = { ...TEST_ELECTRIFICATION_PROJECT_1, projectName: 'NEW NAME' }; |
| 582 | + |
573 | 583 | it('should call services and respond with 200 and result', async () => { |
574 | 584 | const req = { |
575 | | - body: { project: TEST_ELECTRIFICATION_PROJECT_1 }, |
576 | | - currentContext: TEST_CURRENT_CONTEXT |
| 585 | + body: UPDATED_BODY, |
| 586 | + currentContext: TEST_CURRENT_CONTEXT, |
| 587 | + params: { |
| 588 | + electrificationProjectId: TEST_ELECTRIFICATION_PROJECT_1.electrificationProjectId |
| 589 | + } |
577 | 590 | }; |
578 | 591 |
|
579 | | - const updated: ElectrificationProject = { ...TEST_ELECTRIFICATION_PROJECT_1, projectName: 'NEW NAME' }; |
580 | | - |
581 | | - updateSpy.mockResolvedValue(updated); |
| 592 | + updateSpy.mockResolvedValue(UPDATED_PROJECT); |
582 | 593 |
|
583 | 594 | await updateElectrificationProjectController( |
584 | | - req as unknown as Request<never, never, { project: ElectrificationProject; contacts: Contact[] }>, |
| 595 | + req as unknown as Request< |
| 596 | + { electrificationProjectId: string }, |
| 597 | + never, |
| 598 | + Omit<Prisma.electrification_projectUpdateInput, 'electrificationProjectId'> |
| 599 | + >, |
585 | 600 | res as unknown as Response |
586 | 601 | ); |
587 | 602 |
|
588 | 603 | expect(updateSpy).toHaveBeenCalledTimes(1); |
589 | | - expect(updateSpy).toHaveBeenCalledWith(prismaTxMock, { |
590 | | - ...req.body.project, |
591 | | - updatedAt: expect.any(Date) as Date, |
592 | | - updatedBy: TEST_CURRENT_CONTEXT.userId |
593 | | - }); |
| 604 | + expect(updateSpy).toHaveBeenCalledWith( |
| 605 | + prismaTxMock, |
| 606 | + { |
| 607 | + ...UPDATED_BODY, |
| 608 | + updatedAt: expect.any(Date) as Date, |
| 609 | + updatedBy: TEST_CURRENT_CONTEXT.userId |
| 610 | + }, |
| 611 | + UPDATED_PROJECT.electrificationProjectId |
| 612 | + ); |
594 | 613 | expect(res.status).toHaveBeenCalledWith(200); |
595 | | - expect(res.json).toHaveBeenCalledWith(updated); |
| 614 | + expect(res.json).toHaveBeenCalledWith(UPDATED_PROJECT); |
596 | 615 | }); |
597 | 616 | }); |
0 commit comments