Skip to content

Commit d7478eb

Browse files
VIA-630 MD/DB Add E2E test for 65-74 year old age based hub
Also adds commented out lines identifying which test users can be used for all of the other age based hub pages; these should be added in as each age group is implemented
1 parent 8d4d12b commit d7478eb

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

e2e/general/agedBasedHub.spec.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { TestInfo, expect, test } from "@playwright/test";
2+
import { AppPageDetails, MAX_AVG_LCP_DURATION_MS } from "@project/e2e/constants";
3+
import { accessibilityCheck, benchmarkIfChromium } from "@project/e2e/helpers";
4+
import { AgeBasedHubInfo, AgeGroup } from "@src/models/ageBasedHub";
5+
6+
test.describe.configure({ mode: "parallel", retries: 1 });
7+
8+
type AgeBasedTestUser = {
9+
ageGroup: AgeGroup;
10+
userSession: string;
11+
};
12+
13+
const AgeBasedHubTestUsers: AgeBasedTestUser[] = [
14+
// { ageGroup: AgeGroup.AGE_12_to_16, userSession: "12-16-age-range"}, // user 34
15+
// { ageGroup: AgeGroup.AGE_17_to_24, userSession: "eligibility-error-400"}, // user 16
16+
// { ageGroup: AgeGroup.AGE_25_to_64, userSession: "actionable-with-other-setting-suitability-rule"}, // user 12
17+
{ ageGroup: AgeGroup.AGE_65_to_74, userSession: "actionable-with-booking-link" }, // user 19
18+
// { ageGroup: AgeGroup.AGE_75_to_80, userSession: "actionable-with-booking-button"}, // user 21
19+
// { ageGroup: AgeGroup.AGE_81_PLUS, userSession: "actionable-with-infotext-action"}, //user 01
20+
];
21+
22+
test.describe("Age-Based Hub", () => {
23+
AgeBasedHubTestUsers.forEach(({ ageGroup, userSession }) => {
24+
test.use({ storageState: `./e2e/.auth/${userSession}.json` });
25+
26+
test(`should render hub page for ${ageGroup}`, async ({ page }, testInfo: TestInfo) => {
27+
const hubPageDetails = AppPageDetails["vaccine-hub"];
28+
29+
await page.goto(hubPageDetails.url);
30+
await expect(page).toHaveTitle(hubPageDetails.title);
31+
await expect(page.getByRole("heading", { level: 1, name: hubPageDetails.heading })).toBeVisible();
32+
await expect(page.getByRole("heading", { level: 2, name: AgeBasedHubInfo[ageGroup]?.heading })).toBeVisible();
33+
34+
await accessibilityCheck(page);
35+
await benchmarkIfChromium(page, hubPageDetails.url, MAX_AVG_LCP_DURATION_MS, testInfo);
36+
});
37+
});
38+
});

test-data/test-users.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,13 @@
9494
"elidPostmanRef": "5_3",
9595
"e2e": false,
9696
"snapshot": true
97+
},
98+
"12-16-age-range": {
99+
"nhsNumber": "9461135831",
100+
"emailSuffix": "34",
101+
"reportLabel": "12-16 age range",
102+
"elidPostmanRef": "",
103+
"e2e": true,
104+
"snapshot": true
97105
}
98106
}

0 commit comments

Comments
 (0)