Skip to content

Commit c9751d6

Browse files
Add extra tests
1 parent 36a451f commit c9751d6

File tree

8 files changed

+69
-2
lines changed

8 files changed

+69
-2
lines changed

src/components/forms/CreateSmsTemplate/CreateSmsTemplate.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export const CreateSmsTemplate: FC<PageComponentProps> = ({ initialState }) => {
7777
errorProps={{ id: 'smsTemplateMessage-error-message' }}
7878
/>
7979
<div style={useJsEnabledStyle()} id='smsMessageCharacterCount'>
80-
<p className='nhsuk-u-margin-bottom-0'>
80+
<p className='nhsuk-u-margin-bottom-0' id='character-count'>
8181
{smsTemplateMessage.length} characters
8282
</p>
8383
<p>

src/components/molecules/TemplateSubmitted/TemplateSubmitted.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ export const TemplateSubmitted = ({
5252
<p>{notLiveText}</p>
5353
<h3>{liveHeading}</h3>
5454
<p>
55-
<Link href='https://nhsdigitallive.service-now.com/nhs_digital?id=sc_cat_item&sys_id=6208dbce1be759102eee65b9bd4bcbf5'>
55+
<Link
56+
id='servicenow-link'
57+
href='https://nhsdigitallive.service-now.com/nhs_digital?id=sc_cat_item&sys_id=6208dbce1be759102eee65b9bd4bcbf5'
58+
>
5659
{liveLinkText}
5760
</Link>{' '}
5861
{liveText}

tests/test-team/pages/sms/template-mgmt-create-sms-page.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ export class TemplateMgmtCreateSmsPage extends TemplateMgmtBasePage {
1313

1414
public readonly namingYourTemplate: Locator;
1515

16+
public readonly pricingLink: Locator;
17+
18+
public readonly characterCountText: Locator;
19+
1620
public readonly messageFormatting: TemplateMgmtMessageFormatting;
1721

1822
constructor(page: Page) {
@@ -26,6 +30,8 @@ export class TemplateMgmtCreateSmsPage extends TemplateMgmtBasePage {
2630
this.namingYourTemplate = page.locator(
2731
'[data-testid="how-to-name-your-template"]'
2832
);
33+
this.pricingLink = page.locator('[data-testid="sms-pricing-link"]');
34+
this.characterCountText = page.locator('[id="character-count"]');
2935
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
3036
}
3137

tests/test-team/pages/sms/template-mgmt-preview-sms-page.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ export class TemplateMgmtPreviewSmsPage extends TemplateMgmtBasePage {
1010

1111
public readonly messageText: Locator;
1212

13+
public readonly whoYourSmsWillBeSentFrom: Locator;
14+
1315
constructor(page: Page) {
1416
super(page);
1517
this.editRadioOption = page.locator(
@@ -20,6 +22,9 @@ export class TemplateMgmtPreviewSmsPage extends TemplateMgmtBasePage {
2022
);
2123
this.errorSummary = page.locator('[class="nhsuk-error-summary"]');
2224
this.messageText = page.locator('[id="preview-content-message"]');
25+
this.whoYourSmsWillBeSentFrom = page.locator(
26+
'[data-testid="preview-message-details"]'
27+
);
2328
}
2429

2530
async loadPage(sessionId: string) {

tests/test-team/pages/template-mgmt-template-submitted-page.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ export class TemplateMgmtTemplateSubmittedPage extends TemplateMgmtBasePage {
88

99
public readonly createAnotherTemplateLink: Locator;
1010

11+
public readonly serviceNowLink: Locator;
12+
1113
constructor(
1214
page: Page,
1315
private readonly channelIdentifier: string
@@ -18,6 +20,7 @@ export class TemplateMgmtTemplateSubmittedPage extends TemplateMgmtBasePage {
1820
this.createAnotherTemplateLink = page.locator(
1921
'[id="create-another-template"]'
2022
);
23+
this.serviceNowLink = page.locator('[id="servicenow-link"]');
2124
}
2225

2326
async clickCreateAnotherTemplateLink() {

tests/test-team/template-mgmt-component-tests/sms/template-mgmt-create-sms-page.component.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ test.describe('Create SMS message template Page', () => {
5656
expect(await createSmsTemplatePage.pageHeader.textContent()).toBe(
5757
'Create text message template'
5858
);
59+
60+
await expect(createSmsTemplatePage.pricingLink).toHaveAttribute(
61+
'href',
62+
'/pricing/text-messages'
63+
);
5964
});
6065

6166
test.describe('Page functionality', () => {
@@ -91,6 +96,26 @@ test.describe('Create SMS message template Page', () => {
9196
);
9297
});
9398

99+
test('character count', async ({ page }) => {
100+
const createSmsTemplatePage = new TemplateMgmtCreateSmsPage(page);
101+
102+
await createSmsTemplatePage.loadPage(sessions.submit.id);
103+
104+
await createSmsTemplatePage.nameInput.fill('template-name');
105+
106+
await createSmsTemplatePage.messageTextArea.fill('a'.repeat(100));
107+
108+
await expect(createSmsTemplatePage.characterCountText).toHaveText(
109+
'100 characters'
110+
);
111+
112+
await createSmsTemplatePage.messageTextArea.fill('a'.repeat(1000));
113+
114+
await expect(createSmsTemplatePage.characterCountText).toHaveText(
115+
'918 characters'
116+
);
117+
});
118+
94119
test('when user clicks "Go back" and returns, then form fields retain previous data', async ({
95120
baseURL,
96121
page,

tests/test-team/template-mgmt-component-tests/sms/template-mgmt-preview-sms-page.component.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ test.describe('Preview SMS message template Page', () => {
4444
`${baseURL}/templates/preview-text-message-template/${sessions.valid.id}`
4545
);
4646

47+
await expect(previewSmsTemplatePage.editRadioOption).not.toBeChecked();
48+
49+
await expect(previewSmsTemplatePage.submitRadioOption).not.toBeChecked();
50+
4751
await expect(previewSmsTemplatePage.pageHeader).toContainText(
4852
'Text message template'
4953
);
@@ -75,6 +79,22 @@ test.describe('Preview SMS message template Page', () => {
7579
});
7680
});
7781

82+
test('when user clicks "Who your text message will be sent from" tool tips, then tool tips are displayed', async ({
83+
page,
84+
}) => {
85+
const previewSmsTemplatePage = new TemplateMgmtPreviewSmsPage(page);
86+
87+
await previewSmsTemplatePage.loadPage(sessions.valid.id);
88+
89+
await previewSmsTemplatePage.whoYourSmsWillBeSentFrom.click({
90+
position: { x: 0, y: 0 },
91+
});
92+
93+
await expect(
94+
previewSmsTemplatePage.whoYourSmsWillBeSentFrom
95+
).toHaveAttribute('open');
96+
});
97+
7898
test('when user submits form with "Edit" data, then the "Create text message template" page is displayed', async ({
7999
baseURL,
80100
page,

tests/test-team/template-mgmt-component-tests/template-mgmt-submitted-page.component.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ test.describe('Submit Email message template Page', () => {
7272
await expect(templateSubmittedPage.templateIdText).toHaveText(
7373
templates[channelIdentifier].id
7474
);
75+
76+
await expect(templateSubmittedPage.serviceNowLink).toHaveAttribute(
77+
'href',
78+
'https://nhsdigitallive.service-now.com/nhs_digital?id=sc_cat_item&sys_id=6208dbce1be759102eee65b9bd4bcbf5'
79+
);
7580
});
7681

7782
test.describe('Page functionality', () => {

0 commit comments

Comments
 (0)