Skip to content

Commit b3eba93

Browse files
committed
CCM-11474: missing playwright tests
1 parent ca7d677 commit b3eba93

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Locator, Page } from '@playwright/test';
2+
import { TemplateMgmtBasePageNonDynamic } from '../template-mgmt-base-page-non-dynamic';
3+
4+
export class MessagePlanCampaignIdRequiredPage extends TemplateMgmtBasePageNonDynamic {
5+
static readonly pageUrlSegment = 'message-plans/campaign-id-required';
6+
7+
public readonly errorDetailsInsetText: Locator;
8+
public readonly goBackLink: Locator;
9+
public readonly heading: Locator;
10+
11+
constructor(page: Page) {
12+
super(page);
13+
14+
this.errorDetailsInsetText = page.locator('[class="nhsuk-inset-text"] > p');
15+
this.goBackLink = page.getByTestId('back-link');
16+
this.heading = page.getByTestId('page-heading');
17+
}
18+
}

tests/test-team/template-mgmt-component-tests/template-protected-routes.component.spec.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,15 @@ import { TemplateMgmtTemplateSubmittedNhsAppPage } from '../pages/nhs-app/templa
3434
import { TemplateMgmtTemplateSubmittedSmsPage } from '../pages/sms/template-mgmt-template-submitted-sms-page';
3535
import { TemplateMgmtUploadLetterMissingCampaignClientIdPage } from '../pages/letter/template-mgmt-upload-letter-missing-campaign-client-id-page';
3636
import { RoutingChooseMessageOrderPage } from '../pages/routing/choose-message-order-page';
37+
import { CreateMessagePlanPage } from '../pages/routing/create-message-plan-page';
38+
import { MessagePlanCampaignIdRequiredPage } from '../pages/routing/campaign-id-required-page';
3739

3840
// Reset storage state for this file to avoid being authenticated
3941
test.use({ storageState: { cookies: [], origins: [] } });
4042

4143
const protectedPages = [
44+
CreateMessagePlanPage,
45+
MessagePlanCampaignIdRequiredPage,
4246
MessageTemplatesPage,
4347
RoutingChooseMessageOrderPage,
4448
TemplateMgmtChoosePage,
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { test, expect } from '@playwright/test';
2+
import {
3+
assertFooterLinks,
4+
assertSignOutLink,
5+
assertHeaderLogoLink,
6+
assertSkipToMainContent,
7+
} from 'helpers/template-mgmt-common.steps';
8+
import { MessagePlanCampaignIdRequiredPage } from 'pages/routing/campaign-id-required-page';
9+
10+
test.describe('Message Plan Campaign Id Required Page', () => {
11+
test('common page tests', async ({ page, baseURL }) => {
12+
const campaignIdRequiredPage = new MessagePlanCampaignIdRequiredPage(page);
13+
14+
await campaignIdRequiredPage.loadPage();
15+
16+
await expect(page).toHaveURL(
17+
`${baseURL}/templates/message-plans/campaign-id-required`
18+
);
19+
20+
await expect(campaignIdRequiredPage.heading).toHaveText(
21+
'You cannot create message plans yet'
22+
);
23+
await expect(campaignIdRequiredPage.errorDetailsInsetText).toHaveText(
24+
'Account needs a campaign ID'
25+
);
26+
27+
await expect(campaignIdRequiredPage.goBackLink).toHaveText('Go back');
28+
await expect(campaignIdRequiredPage.goBackLink).toHaveAttribute(
29+
'href',
30+
'/templates/message-plans'
31+
);
32+
33+
await assertFooterLinks({ page: campaignIdRequiredPage });
34+
await assertSignOutLink({ page: campaignIdRequiredPage });
35+
await assertHeaderLogoLink({ page: campaignIdRequiredPage });
36+
await assertSkipToMainContent({ page: campaignIdRequiredPage });
37+
});
38+
});

0 commit comments

Comments
 (0)