Skip to content

Commit 106403c

Browse files
committed
Merge branch 'main' of https://github.com/NHSDigital/nhs-notify-web-template-management into feature/CCM-11438-update-markdown-guidance
2 parents e9ac4c5 + 756b890 commit 106403c

File tree

69 files changed

+322
-277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+322
-277
lines changed

.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@
7373
}
7474
],
7575
"no-empty-function": "off",
76-
"unicorn/prefer-module": "off"
76+
"unicorn/prefer-module": "off",
77+
"sonarjs/todo-tag": "off"
7778
},
7879
"overrides": [
7980
{

frontend/src/__tests__/app/create-letter-template/__snapshots__/page.test.tsx.snap renamed to frontend/src/__tests__/app/upload-letter-template/__snapshots__/page.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`CreateLetterTemplatePage should render CreateLetterTemplatePage 1`] = `
3+
exports[`UploadLetterTemplatePage should render UploadLetterTemplatePage 1`] = `
44
<LetterTemplateForm
55
initialState={
66
{

frontend/src/__tests__/app/create-letter-template/client-id-and-campaign-id-required/__snapshots__/page.test.tsx.snap renamed to frontend/src/__tests__/app/upload-letter-template/client-id-and-campaign-id-required/__snapshots__/page.test.tsx.snap

File renamed without changes.

frontend/src/__tests__/app/create-letter-template/client-id-and-campaign-id-required/page.test.tsx renamed to frontend/src/__tests__/app/upload-letter-template/client-id-and-campaign-id-required/page.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import ClientIdAndCampaignIdRequiredPage from '@app/create-letter-template/client-id-and-campaign-id-required/page';
1+
import ClientIdAndCampaignIdRequiredPage from '@app/upload-letter-template/client-id-and-campaign-id-required/page';
22
import { render } from '@testing-library/react';
33

44
test('ClientIdAndCampaignIdRequiredPage', async () => {

frontend/src/__tests__/app/create-letter-template/page.test.tsx renamed to frontend/src/__tests__/app/upload-letter-template/page.test.tsx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
11
/**
22
* @jest-environment node
33
*/
4-
import CreateLetterTemplatePage from '@app/create-letter-template/page';
4+
import UploadLetterTemplatePage, {
5+
generateMetadata,
6+
} from '@app/upload-letter-template/page';
7+
import content from '@content/content';
58
import { getSessionServer } from '@utils/amplify-utils';
69
import { fetchClient } from '@utils/server-features';
710
import { redirect, RedirectType } from 'next/navigation';
811

12+
const { pageTitle } = content.components.templateFormLetter;
13+
914
jest.mock('next/navigation');
1015
jest.mock('@utils/amplify-utils');
1116
jest.mock('@utils/server-features');
1217

1318
const mockGetSessionServer = jest.mocked(getSessionServer);
1419
const mockFetchClient = jest.mocked(fetchClient);
1520

16-
describe('CreateLetterTemplatePage', () => {
21+
describe('UploadLetterTemplatePage', () => {
1722
beforeEach(() => {
1823
jest.resetAllMocks();
1924
});
2025

21-
it('should render CreateLetterTemplatePage', async () => {
26+
it('should render UploadLetterTemplatePage', async () => {
2227
mockGetSessionServer.mockResolvedValueOnce({
2328
accessToken: 'mocktoken',
2429
clientId: 'client1',
@@ -30,8 +35,9 @@ describe('CreateLetterTemplatePage', () => {
3035
},
3136
});
3237

33-
const page = await CreateLetterTemplatePage();
38+
const page = await UploadLetterTemplatePage();
3439

40+
expect(await generateMetadata()).toEqual({ title: pageTitle });
3541
expect(page).toMatchSnapshot();
3642
});
3743

@@ -47,7 +53,7 @@ describe('CreateLetterTemplatePage', () => {
4753
},
4854
});
4955

50-
await CreateLetterTemplatePage();
56+
await UploadLetterTemplatePage();
5157

5258
expect(mockGetSessionServer).toHaveBeenCalled();
5359
expect(mockFetchClient).toHaveBeenCalled();
@@ -67,10 +73,10 @@ describe('CreateLetterTemplatePage', () => {
6773
},
6874
});
6975

70-
await CreateLetterTemplatePage();
76+
await UploadLetterTemplatePage();
7177

7278
expect(mockRedirect).toHaveBeenCalledWith(
73-
'/create-letter-template/client-id-and-campaign-id-required',
79+
'/upload-letter-template/client-id-and-campaign-id-required',
7480
RedirectType.replace
7581
);
7682
});
@@ -89,10 +95,10 @@ describe('CreateLetterTemplatePage', () => {
8995
},
9096
});
9197

92-
await CreateLetterTemplatePage();
98+
await UploadLetterTemplatePage();
9399

94100
expect(mockRedirect).toHaveBeenCalledWith(
95-
'/create-letter-template/client-id-and-campaign-id-required',
101+
'/upload-letter-template/client-id-and-campaign-id-required',
96102
RedirectType.replace
97103
);
98104
});

frontend/src/__tests__/components/forms/ChooseTemplate/server-action.test.ts

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,23 @@ test('submit form - validation error', async () => {
2525
});
2626
});
2727

28-
test('submit form - no validation error', async () => {
29-
const mockRedirect = jest.mocked(redirect);
28+
test.each([
29+
['NHS_APP', '/create-nhs-app-template'],
30+
['SMS', '/create-text-message-template'],
31+
['EMAIL', '/create-email-template'],
32+
['LETTER', '/upload-letter-template'],
33+
])(
34+
'submit form - $templateType redirects to $url',
35+
async (templateType, url) => {
36+
const mockRedirect = jest.mocked(redirect);
3037

31-
await chooseTemplateAction(
32-
{},
33-
getMockFormData({
34-
templateType: 'NHS_APP',
35-
})
36-
);
38+
await chooseTemplateAction(
39+
{},
40+
getMockFormData({
41+
templateType,
42+
})
43+
);
3744

38-
expect(mockRedirect).toHaveBeenCalledWith(
39-
'/create-nhs-app-template',
40-
RedirectType.push
41-
);
42-
});
45+
expect(mockRedirect).toHaveBeenCalledWith(url, RedirectType.push);
46+
}
47+
);

frontend/src/__tests__/components/forms/LetterTemplateForm.test.tsx/__snapshots__/LetterTemplateForm.test.tsx.snap

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ exports[`Client-side validation triggers 1`] = `
7575
name="form-id"
7676
readonly=""
7777
type="hidden"
78-
value="create-letter-template"
78+
value="upload-letter-template"
7979
/>
8080
<input
8181
name="csrf_token"
@@ -466,7 +466,7 @@ exports[`Client-side validation triggers 1`] = `
466466
aria-disabled="false"
467467
class="nhsuk-button"
468468
data-testid="submit-button"
469-
id="create-letter-template-submit-button"
469+
id="upload-letter-template-submit-button"
470470
type="submit"
471471
>
472472
Save and upload
@@ -521,7 +521,7 @@ exports[`hides right-to-left language warning when language changes 1`] = `
521521
name="form-id"
522522
readonly=""
523523
type="hidden"
524-
value="create-letter-template"
524+
value="upload-letter-template"
525525
/>
526526
<input
527527
name="csrf_token"
@@ -893,7 +893,7 @@ exports[`hides right-to-left language warning when language changes 1`] = `
893893
aria-disabled="false"
894894
class="nhsuk-button"
895895
data-testid="submit-button"
896-
id="create-letter-template-submit-button"
896+
id="upload-letter-template-submit-button"
897897
type="submit"
898898
>
899899
Save and upload
@@ -993,7 +993,7 @@ exports[`renders page one error 1`] = `
993993
name="form-id"
994994
readonly=""
995995
type="hidden"
996-
value="create-letter-template"
996+
value="upload-letter-template"
997997
/>
998998
<input
999999
name="csrf_token"
@@ -1377,7 +1377,7 @@ exports[`renders page one error 1`] = `
13771377
aria-disabled="false"
13781378
class="nhsuk-button"
13791379
data-testid="submit-button"
1380-
id="create-letter-template-submit-button"
1380+
id="upload-letter-template-submit-button"
13811381
type="submit"
13821382
>
13831383
Save and upload
@@ -1495,7 +1495,7 @@ exports[`renders page with multiple errors 1`] = `
14951495
name="form-id"
14961496
readonly=""
14971497
type="hidden"
1498-
value="create-letter-template"
1498+
value="upload-letter-template"
14991499
/>
15001500
<input
15011501
name="csrf_token"
@@ -1897,7 +1897,7 @@ exports[`renders page with multiple errors 1`] = `
18971897
aria-disabled="false"
18981898
class="nhsuk-button"
18991899
data-testid="submit-button"
1900-
id="create-letter-template-submit-button"
1900+
id="upload-letter-template-submit-button"
19011901
type="submit"
19021902
>
19031903
Save and upload
@@ -1952,7 +1952,7 @@ exports[`renders page with preloaded field values 1`] = `
19521952
name="form-id"
19531953
readonly=""
19541954
type="hidden"
1955-
value="create-letter-template"
1955+
value="upload-letter-template"
19561956
/>
19571957
<input
19581958
name="csrf_token"
@@ -2350,7 +2350,7 @@ exports[`renders page with preloaded field values 1`] = `
23502350
aria-disabled="false"
23512351
class="nhsuk-button"
23522352
data-testid="submit-button"
2353-
id="create-letter-template-submit-button"
2353+
id="upload-letter-template-submit-button"
23542354
type="submit"
23552355
>
23562356
Save and upload
@@ -2405,7 +2405,7 @@ exports[`shows right-to-left language warning when language changes 1`] = `
24052405
name="form-id"
24062406
readonly=""
24072407
type="hidden"
2408-
value="create-letter-template"
2408+
value="upload-letter-template"
24092409
/>
24102410
<input
24112411
name="csrf_token"
@@ -2803,7 +2803,7 @@ exports[`shows right-to-left language warning when language changes 1`] = `
28032803
aria-disabled="false"
28042804
class="nhsuk-button"
28052805
data-testid="submit-button"
2806-
id="create-letter-template-submit-button"
2806+
id="upload-letter-template-submit-button"
28072807
type="submit"
28082808
>
28092809
Save and upload

frontend/src/__tests__/components/forms/LetterTemplateForm.test.tsx/server-action.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
import { getMockFormData } from '@testhelpers';
2-
import { createLetterTemplate } from '@utils/form-actions';
2+
import { uploadLetterTemplate } from '@utils/form-actions';
33
import { redirect } from 'next/navigation';
44
import { processFormActions } from '@forms/LetterTemplateForm/server-action';
5-
import { CreateLetterTemplate } from 'nhs-notify-web-template-management-utils';
5+
import { UploadLetterTemplate } from 'nhs-notify-web-template-management-utils';
66

77
jest.mock('@utils/amplify-utils');
88
jest.mock('@utils/form-actions');
99
jest.mock('next/navigation');
1010

11-
const createLetterTemplateMock = jest.mocked(createLetterTemplate);
11+
const uploadLetterTemplateMock = jest.mocked(uploadLetterTemplate);
1212
const redirectMock = jest.mocked(redirect);
1313

14-
const initialState: CreateLetterTemplate = {
14+
const initialState: UploadLetterTemplate = {
1515
templateType: 'LETTER',
1616
name: 'name',
1717
letterType: 'x0',
1818
language: 'en',
1919
};
2020

21-
describe('CreateLetterTemplate server actions', () => {
21+
describe('UploadLetterTemplate server actions', () => {
2222
beforeEach(jest.resetAllMocks);
2323

24-
it('create-letter-template - should return response when no template name, letter type, language or pdf file', async () => {
24+
it('upload-letter-template - should return response when no template name, letter type, language or pdf file', async () => {
2525
const response = await processFormActions(
2626
initialState,
27-
getMockFormData({ 'form-id': 'create-letter-template' })
27+
getMockFormData({ 'form-id': 'upload-letter-template' })
2828
);
2929

3030
expect(response).toEqual({
@@ -43,7 +43,7 @@ describe('CreateLetterTemplate server actions', () => {
4343
});
4444

4545
test('should create the template and redirect', async () => {
46-
createLetterTemplateMock.mockResolvedValue({
46+
uploadLetterTemplateMock.mockResolvedValue({
4747
...initialState,
4848
id: 'new-template-id',
4949
templateStatus: 'NOT_YET_SUBMITTED',
@@ -84,7 +84,7 @@ describe('CreateLetterTemplate server actions', () => {
8484
})
8585
);
8686

87-
expect(createLetterTemplateMock).toHaveBeenCalledWith(
87+
expect(uploadLetterTemplateMock).toHaveBeenCalledWith(
8888
{
8989
...initialState,
9090
name: 'template-name',
@@ -102,7 +102,7 @@ describe('CreateLetterTemplate server actions', () => {
102102
});
103103

104104
test('should throw error on editing existing template', async () => {
105-
createLetterTemplateMock.mockResolvedValue({
105+
uploadLetterTemplateMock.mockResolvedValue({
106106
...initialState,
107107
id: 'new-template-id',
108108
templateStatus: 'NOT_YET_SUBMITTED',

0 commit comments

Comments
 (0)