generated from NHSDigital/nhs-notify-repository-template
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathManageTemplates.test.tsx
More file actions
97 lines (91 loc) · 3.24 KB
/
ManageTemplates.test.tsx
File metadata and controls
97 lines (91 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import { render, screen } from '@testing-library/react';
import { ManageTemplates } from '@molecules/ManageTemplates/ManageTemplates';
import content from '@content/content';
import { TemplateDto } from 'nhs-notify-backend-client';
const manageTemplatesContent = content.pages.manageTemplates;
const manageTemplatesProps: {
templateList: TemplateDto[];
} = {
templateList: [
{
id: '1',
templateType: 'NHS_APP',
templateStatus: 'NOT_YET_SUBMITTED',
name: 'Template 1',
message: 'Message',
createdAt: '2021-01-01T00:00:00.000Z',
updatedAt: '2021-01-01T00:00:00.000Z',
},
{
id: '2',
templateType: 'NHS_APP',
templateStatus: 'SUBMITTED',
name: 'Template 2',
message: 'Message',
createdAt: '2021-02-01T00:00:00.000Z',
updatedAt: '2021-02-01T00:00:00.000Z',
},
{
id: '3',
templateType: 'LETTER',
templateStatus: 'SUBMITTED',
name: 'Template 3',
createdAt: '2021-02-01T00:00:00.000Z',
letterType: 'x0',
language: 'fr',
updatedAt: '2021-02-01T00:00:00.000Z',
files: {
pdfTemplate: {
fileName: 'template.pdf',
currentVersion: '8BAC',
virusScanStatus: 'PASSED',
},
},
},
],
};
describe('ManageTemplates component', () => {
it('matches snapshot with not submitted status', () => {
const container = render(<ManageTemplates {...manageTemplatesProps} />);
expect(container.asFragment()).toMatchSnapshot();
});
it('matches snapshot with submitted status', () => {
manageTemplatesProps.templateList[0].templateStatus = 'SUBMITTED';
const container = render(<ManageTemplates {...manageTemplatesProps} />);
expect(container.asFragment()).toMatchSnapshot();
});
it('renders component correctly', () => {
render(<ManageTemplates {...manageTemplatesProps} />);
expect(screen.getByTestId('manage-template-table')).toBeInTheDocument();
expect(
screen.getByTestId('manage-template-table-header-template-name')
).toBeInTheDocument();
expect(
screen.getByTestId('manage-template-table-header-template-name')
).toHaveTextContent(manageTemplatesContent.tableHeadings.name);
expect(
screen.getByTestId('manage-template-table-header-template-type')
).toBeInTheDocument();
expect(
screen.getByTestId('manage-template-table-header-template-type')
).toHaveTextContent(manageTemplatesContent.tableHeadings.type);
expect(
screen.getByTestId('manage-template-table-header-template-status')
).toBeInTheDocument();
expect(
screen.getByTestId('manage-template-table-header-template-status')
).toHaveTextContent(manageTemplatesContent.tableHeadings.status);
expect(
screen.getByTestId('manage-template-table-header-template-date-created')
).toBeInTheDocument();
expect(
screen.getByTestId('manage-template-table-header-template-date-created')
).toHaveTextContent(manageTemplatesContent.tableHeadings.dateCreated);
expect(
screen.getByTestId('manage-template-table-header-action')
).toBeInTheDocument();
expect(
screen.getByTestId('manage-template-table-header-action')
).toHaveTextContent(manageTemplatesContent.tableHeadings.action.text);
});
});