Skip to content

Commit 7dd95d8

Browse files
committed
unit tests pass
1 parent 335ff8c commit 7dd95d8

File tree

13 files changed

+480
-151
lines changed

13 files changed

+480
-151
lines changed

frontend/src/__tests__/utils/form-actions.test.ts

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
createLetterTemplate,
1515
setTemplateToDeleted,
1616
setTemplateToSubmitted,
17+
requestTemplateProof,
1718
} from '@utils/form-actions';
1819
import { getAccessTokenServer } from '@utils/amplify-utils';
1920
import { TemplateDto } from 'nhs-notify-backend-client';
@@ -583,4 +584,66 @@ describe('form-actions', () => {
583584
);
584585
});
585586
});
587+
588+
describe('requestTemplateProof', () => {
589+
test('sends proof request successfully', async () => {
590+
const responseData = {
591+
templateType: 'LETTER',
592+
id: 'new-template-id',
593+
templateStatus: 'NOT_YET_SUBMITTED',
594+
name: 'template-name',
595+
letterType: 'q1',
596+
language: 'ar',
597+
files: {
598+
pdfTemplate: {
599+
fileName: 'template.pdf',
600+
currentVersion: 'pdf-version',
601+
virusScanStatus: 'PASSED',
602+
},
603+
},
604+
createdAt: '2025-01-13T10:19:25.579Z',
605+
updatedAt: '2025-01-13T10:19:25.579Z',
606+
} satisfies TemplateDto;
607+
608+
mockedTemplateClient.requestProof.mockResolvedValueOnce({
609+
data: responseData,
610+
});
611+
612+
const response = await requestTemplateProof('id');
613+
614+
expect(mockedTemplateClient.requestProof).toHaveBeenCalledWith(
615+
'id',
616+
'token'
617+
);
618+
619+
expect(response).toEqual(responseData);
620+
});
621+
622+
test('requestTemplateProof - should throw error when saving unexpectedly fails', async () => {
623+
mockedTemplateClient.requestProof.mockResolvedValueOnce({
624+
error: {
625+
code: 400,
626+
message: 'Bad request',
627+
},
628+
});
629+
630+
await expect(requestTemplateProof('id')).rejects.toThrow(
631+
'Failed to request proof'
632+
);
633+
634+
expect(mockedTemplateClient.requestProof).toHaveBeenCalledWith(
635+
'id',
636+
'token'
637+
);
638+
});
639+
640+
test('deleteTemplate - should throw error when no token', async () => {
641+
authIdTokenServerMock.mockReset();
642+
authIdTokenServerMock.mockResolvedValueOnce(undefined);
643+
644+
await expect(requestTemplateProof('id')).rejects.toThrow(
645+
'Failed to get access token'
646+
);
647+
});
648+
});
586649
});

frontend/src/components/forms/RequestProof/server-action.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,7 @@ export async function requestProof(route: string, formData: FormData) {
2626
}
2727

2828
try {
29-
await requestTemplateProof(
30-
templateId,
31-
validatedTemplate.personalisationParameters ?? [],
32-
validatedTemplate.files.pdfTemplate.currentVersion,
33-
validatedTemplate.files.testDataCsv?.currentVersion
34-
);
29+
await requestTemplateProof(templateId);
3530
} catch (error) {
3631
logger.error('Failed to request template proof', {
3732
error,

frontend/src/utils/form-actions.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,22 +116,15 @@ export async function setTemplateToDeleted(templateId: string): Promise<void> {
116116
}
117117

118118
export async function requestTemplateProof(
119-
templateId: string,
120-
personalisationParameters: string[],
121-
pdfVersionId: string,
122-
testDataVersionId: string | undefined
119+
templateId: string
123120
): Promise<TemplateDto> {
124121
const token = await getAccessTokenServer();
125122

126123
if (!token) {
127124
throw new Error('Failed to get access token');
128125
}
129126

130-
const { data, error } = await templateClient.requestProof(templateId, token, {
131-
personalisationParameters,
132-
pdfVersionId,
133-
testDataVersionId,
134-
});
127+
const { data, error } = await templateClient.requestProof(templateId, token);
135128

136129
if (error) {
137130
logger.error('Failed to request proof', { error });

0 commit comments

Comments
 (0)