Skip to content

Commit 9b402a7

Browse files
committed
CCM-10424 Log in as user
1 parent 4e34bfd commit 9b402a7

File tree

4 files changed

+32
-34
lines changed

4 files changed

+32
-34
lines changed

tests/test-team/config/component/component.setup.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
import path from 'node:path';
66
import { test as setup } from '@playwright/test';
77
import { BackendConfigHelper } from 'nhs-notify-web-template-management-util-backend-config';
8-
import { TemplateMgmtSignInPage } from '../../pages/templates-mgmt-login-page';
98
import {
109
createAuthHelper,
1110
testUsers,
1211
} from '../../helpers/auth/cognito-auth-helper';
12+
import { loginAsUser } from '../../helpers/auth/login-as-user';
1313

1414
setup('component test setup', async ({ page }) => {
1515
const backendConfig = BackendConfigHelper.fromTerraformOutputsFile(
@@ -24,11 +24,7 @@ setup('component test setup', async ({ page }) => {
2424

2525
const user = await auth.getTestUser(testUsers.User1.userId);
2626

27-
const loginPage = new TemplateMgmtSignInPage(page);
28-
29-
await loginPage.loadPage();
30-
31-
await loginPage.cognitoSignIn(user);
27+
await loginAsUser(user, page)
3228

3329
await page.waitForURL('/templates/create-and-submit-templates');
3430

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Page } from "@playwright/test";
2+
import { TestUser } from "./cognito-auth-helper";
3+
import { TemplateMgmtSignInPage } from "../../pages/templates-mgmt-login-page";
4+
5+
export const loginAsUser = async (user: TestUser, page: Page) => {
6+
const loginPage = new TemplateMgmtSignInPage(page);
7+
8+
await loginPage.loadPage();
9+
10+
await loginPage.cognitoSignIn(user);
11+
}

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

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
} from '../../helpers/auth/cognito-auth-helper';
1515
import { TemplateMgmtCreateLetterPage } from '../../pages/letter/template-mgmt-create-letter-page';
1616
import { TemplateMgmtCreateLetterMissingCampaignClientIdPage } from '../../pages/letter/template-mgmt-create-letter-missing-campaign-client-id-page';
17+
import { loginAsUser } from '../../helpers/auth/login-as-user';
1718

1819
test.describe('Create Letter Template Page', () => {
1920
const templateStorageHelper = new TemplateStorageHelper();
@@ -49,35 +50,29 @@ test.describe('Create Letter Template Page', () => {
4950
});
5051

5152
test('redirects to error page when campaign ID is missing', async ({ page, baseURL }) => {
52-
// set user to userWithoutCampaignId
53+
await loginAsUser(userWithoutCampaignId, page);
54+
5355
const createTemplatePage = new TemplateMgmtCreateLetterPage(page);
5456
const missingClientOrCampaignIdErrorPage = new TemplateMgmtCreateLetterMissingCampaignClientIdPage(page);
5557

5658
createTemplatePage.loadPage();
5759

5860
await expect(page).toHaveURL(`${baseURL}/${TemplateMgmtCreateLetterMissingCampaignClientIdPage.pageUrlSegment}`);
5961

60-
await expect(missingClientOrCampaignIdErrorPage.heading).toHaveText('You cannot create letter templates yet');
61-
await expect(missingClientOrCampaignIdErrorPage.errorDetailsInsetText).toHaveText('Account needs a client ID and campaign ID');
62-
63-
await expect(missingClientOrCampaignIdErrorPage.goBackLink).toHaveText('Go back');
64-
await expect(missingClientOrCampaignIdErrorPage.goBackLink).toHaveAttribute('href', '/templates/choose-a-template-type');
62+
await assertMissingClientOrCampaignIdErrorPage(missingClientOrCampaignIdErrorPage);
6563
});
6664

6765
test('redirects to error page when client ID is missing', async ({ page, baseURL }) => {
68-
// set user to userWithoutClientId
66+
await loginAsUser(userWithoutClientId, page);
67+
6968
const createTemplatePage = new TemplateMgmtCreateLetterPage(page);
7069
const missingClientOrCampaignIdErrorPage = new TemplateMgmtCreateLetterMissingCampaignClientIdPage(page);
7170

7271
createTemplatePage.loadPage();
7372

7473
await expect(page).toHaveURL(`${baseURL}/${TemplateMgmtCreateLetterMissingCampaignClientIdPage.pageUrlSegment}`);
7574

76-
await expect(missingClientOrCampaignIdErrorPage.heading).toHaveText('You cannot create letter templates yet');
77-
await expect(missingClientOrCampaignIdErrorPage.errorDetailsInsetText).toHaveText('Account needs a client ID and campaign ID');
78-
79-
await expect(missingClientOrCampaignIdErrorPage.goBackLink).toHaveText('Go back');
80-
await expect(missingClientOrCampaignIdErrorPage.goBackLink).toHaveAttribute('href', '/templates/choose-a-template-type');
75+
await assertMissingClientOrCampaignIdErrorPage(missingClientOrCampaignIdErrorPage);
8176
});
8277

8378
test('Validate error messages on the create Letter template page with no template name or pdf', async ({
@@ -195,4 +190,12 @@ test.describe('Create Letter Template Page', () => {
195190
await expect(newTab).toHaveURL(`${baseURL}/${url}`);
196191
});
197192
}
193+
194+
const assertMissingClientOrCampaignIdErrorPage = async (page: TemplateMgmtCreateLetterMissingCampaignClientIdPage) => {
195+
await expect(page.heading).toHaveText('You cannot create letter templates yet');
196+
await expect(page.errorDetailsInsetText).toHaveText('Account needs a client ID and campaign ID');
197+
198+
await expect(page.goBackLink).toHaveText('Go back');
199+
await expect(page.goBackLink).toHaveAttribute('href', '/templates/choose-a-template-type');
200+
}
198201
});

tests/test-team/template-mgmt-component-tests/template-mgmt-logout-warning.component.modal.spec.ts

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
type TestUser,
55
testUsers,
66
} from '../helpers/auth/cognito-auth-helper';
7-
import { TemplateMgmtSignInPage } from '../pages/templates-mgmt-login-page';
7+
import { loginAsUser } from '../helpers/auth/login-as-user';
88

99
test.use({ storageState: { cookies: [], origins: [] } });
1010

@@ -26,11 +26,7 @@ test.describe('Logout warning', () => {
2626
test('logout warning should pop up and close after clicking "Stay signed in"', async ({
2727
page,
2828
}) => {
29-
const loginPage = new TemplateMgmtSignInPage(page);
30-
31-
await loginPage.loadPage();
32-
33-
await loginPage.cognitoSignIn(staySignedInUser);
29+
await loginAsUser(staySignedInUser, page);
3430

3531
const dialog = page.locator('dialog');
3632

@@ -44,11 +40,7 @@ test.describe('Logout warning', () => {
4440
test('logout warning should pop up and close after user clicks "Sign out"', async ({
4541
page,
4642
}) => {
47-
const loginPage = new TemplateMgmtSignInPage(page);
48-
49-
await loginPage.loadPage();
50-
51-
await loginPage.cognitoSignIn(manualSignOutUser);
43+
await loginAsUser(manualSignOutUser, page);
5244

5345
const dialog = page.locator('dialog');
5446

@@ -60,11 +52,7 @@ test.describe('Logout warning', () => {
6052
});
6153

6254
test('logout warning should force logout after timeout', async ({ page }) => {
63-
const loginPage = new TemplateMgmtSignInPage(page);
64-
65-
await loginPage.loadPage();
66-
67-
await loginPage.cognitoSignIn(automaticallySignedOutUser);
55+
await loginAsUser(automaticallySignedOutUser, page);
6856

6957
const dialog = page.locator('dialog');
7058

0 commit comments

Comments
 (0)