Skip to content

Commit 22d6706

Browse files
VIA-296 SB Empty Rotavirus page.
Looking to add content next.
1 parent 2bbb9ef commit 22d6706

File tree

7 files changed

+33
-1
lines changed

7 files changed

+33
-1
lines changed

e2e/constants.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
type PoliciesPageName = "cookies-policy" | "accessibility-statement";
2-
type VaccinePageName = "rsv-older-adults" | "rsv-pregnancy" | "td-ipv" | "6-in-1";
2+
type VaccinePageName = "rsv-older-adults" | "rsv-pregnancy" | "td-ipv" | "6-in-1" | "rotavirus";
33
type FailurePageName = "sso-failure" | "service-failure" | "not-found";
44
type SessionPageName = "session-timeout" | "session-logout";
55
type IndexPageName = "vaccines-for-all-ages" | "vaccine-hub";
@@ -55,6 +55,12 @@ export const AppPageDetails: Record<PageName, PageDetails> = {
5555
title: `6-in-1 vaccine - ${SERVICE_HEADING} - ${NHS_TITLE_SUFFIX}`,
5656
snapshotFilename: "default-6-in-1.png",
5757
},
58+
rotavirus: {
59+
url: "/vaccines/rotavirus-vaccine",
60+
heading: "Rotavirus vaccine",
61+
title: `Rotavirus vaccine - ${SERVICE_HEADING} - ${NHS_TITLE_SUFFIX}`,
62+
snapshotFilename: "default-rotavirus.png",
63+
},
5864

5965
// failure pages
6066
"sso-failure": {

e2e/general/navigation.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ test.describe("Navigation", () => {
2828
await clickLinkAndExpectPageTitle(page, "Back", AppPageDetails["vaccines-for-all-ages"].title);
2929
await clickLinkAndExpectPageTitle(page, "6-in-1", AppPageDetails["6-in-1"].title);
3030
await clickLinkAndExpectPageTitle(page, "Back", AppPageDetails["vaccines-for-all-ages"].title);
31+
await clickLinkAndExpectPageTitle(page, "Rotavirus", AppPageDetails["rotavirus"].title);
32+
await clickLinkAndExpectPageTitle(page, "Back", AppPageDetails["vaccines-for-all-ages"].title);
3133
});
3234

3335
test("Skip link navigation", async ({ page }) => {

src/app/vaccines-for-all-ages/page.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ describe("VaccinesForAllAges", () => {
5050
AgeSectionTestId.CHILDREN,
5151
);
5252
assertCardLinkIsPresentInSection("6-in-1", "/vaccines/6-in-1-vaccine", AgeSectionTestId.BABIES);
53+
assertCardLinkIsPresentInSection("Rotavirus", "/vaccines/rotavirus-vaccine", AgeSectionTestId.BABIES);
5354
});
5455

5556
it("should render back link", () => {

src/app/vaccines-for-all-ages/page.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ const VaccinesForAllAges = (): JSX.Element => {
4646
title={`${VaccineInfo[VaccineTypes.VACCINE_6_IN_1].cardLinkTitle}`}
4747
link={`/vaccines/${VaccineContentUrlPaths.VACCINE_6_IN_1}`}
4848
/>
49+
<CardLink
50+
title={`${VaccineInfo[VaccineTypes.ROTAVIRUS].cardLinkTitle}`}
51+
link={`/vaccines/${VaccineContentUrlPaths.ROTAVIRUS}`}
52+
/>
4953
</ul>
5054
</MainContent>
5155
</>

src/models/vaccine.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ enum VaccineTypes {
55
RSV_PREGNANCY = "RSV_PREGNANCY",
66
TD_IPV_3_IN_1 = "TD_IPV_3_IN_1",
77
VACCINE_6_IN_1 = "VACCINE_6_IN_1",
8+
ROTAVIRUS = "ROTAVIRUS",
89
}
910

1011
// vaccine suffix paths used by the app (e.g. /vaccines/"rsv")
@@ -13,6 +14,7 @@ enum VaccineContentUrlPaths {
1314
RSV_PREGNANCY = "rsv-pregnancy",
1415
TD_IPV_3_IN_1 = "td-ipv-vaccine-3-in-1-teenage-booster",
1516
VACCINE_6_IN_1 = "6-in-1-vaccine",
17+
ROTAVIRUS = "rotavirus-vaccine",
1618
}
1719

1820
// maps vaccine url path to vaccine type (one to one)
@@ -21,13 +23,15 @@ const vaccineUrlPathToType: Record<VaccineContentUrlPaths, VaccineTypes> = {
2123
[VaccineContentUrlPaths.RSV_PREGNANCY]: VaccineTypes.RSV_PREGNANCY,
2224
[VaccineContentUrlPaths.TD_IPV_3_IN_1]: VaccineTypes.TD_IPV_3_IN_1,
2325
[VaccineContentUrlPaths.VACCINE_6_IN_1]: VaccineTypes.VACCINE_6_IN_1,
26+
[VaccineContentUrlPaths.ROTAVIRUS]: VaccineTypes.ROTAVIRUS,
2427
};
2528
// maps vaccine type to url path (one to one)
2629
const vaccineTypeToUrlPath: Record<VaccineTypes, VaccineContentUrlPaths> = {
2730
[VaccineTypes.RSV]: VaccineContentUrlPaths.RSV,
2831
[VaccineTypes.RSV_PREGNANCY]: VaccineContentUrlPaths.RSV_PREGNANCY,
2932
[VaccineTypes.TD_IPV_3_IN_1]: VaccineContentUrlPaths.TD_IPV_3_IN_1,
3033
[VaccineTypes.VACCINE_6_IN_1]: VaccineContentUrlPaths.VACCINE_6_IN_1,
34+
[VaccineTypes.ROTAVIRUS]: VaccineContentUrlPaths.ROTAVIRUS,
3135
};
3236

3337
export type VaccineDetails = {
@@ -102,6 +106,18 @@ const VaccineInfo: Record<VaccineTypes, VaccineDetails> = {
102106
nhsHowToGetWebpageLink: new URL("https://www.nhs.uk/vaccinations/6-in-1-vaccine/#how-to-get-it"),
103107
personalisedEligibilityStatusRequired: false,
104108
},
109+
[VaccineTypes.ROTAVIRUS]: {
110+
displayName: {
111+
titleCase: "Rotavirus",
112+
midSentenceCase: "rotavirus",
113+
indefiniteArticle: "a",
114+
},
115+
heading: "Rotavirus vaccine",
116+
cardLinkTitle: "Rotavirus",
117+
nhsWebpageLink: new URL("https://www.nhs.uk/vaccinations/rotavirus-vaccine/"),
118+
nhsHowToGetWebpageLink: new URL("https://www.nhs.uk/vaccinations/rotavirus-vaccine/#how-to-get-it"),
119+
personalisedEligibilityStatusRequired: false,
120+
},
105121
};
106122

107123
export type NhsNumber = Brand<string, "NhsNumber">;

src/services/content-api/constants.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ enum VaccineContentPaths {
55
RSV = "rsv-vaccine",
66
TD_IPV_3_IN_1 = "td-ipv-vaccine-3-in-1-teenage-booster",
77
VACCINE_6_IN_1 = "6-in-1-vaccine",
8+
ROTAVIRUS = "rotavirus-vaccine",
89
}
910

1011
// maps vaccine type to content API paths (many to one, e.g. case RSV)
@@ -13,6 +14,7 @@ const vaccineTypeToPath: Record<VaccineTypes, VaccineContentPaths> = {
1314
[VaccineTypes.RSV_PREGNANCY]: VaccineContentPaths.RSV,
1415
[VaccineTypes.TD_IPV_3_IN_1]: VaccineContentPaths.TD_IPV_3_IN_1,
1516
[VaccineTypes.VACCINE_6_IN_1]: VaccineContentPaths.VACCINE_6_IN_1,
17+
[VaccineTypes.ROTAVIRUS]: VaccineContentPaths.ROTAVIRUS,
1618
};
1719

1820
const INVALIDATED_CONTENT_OVERWRITE_VALUE =

src/services/content-api/parsers/content-styling-service.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ const styleHowToGetSection: Record<VaccineTypes, (section: VaccinePageSection, f
128128
[VaccineTypes.RSV_PREGNANCY]: styleHowToGetSectionForRsvPregnancy,
129129
[VaccineTypes.TD_IPV_3_IN_1]: styleSection,
130130
[VaccineTypes.VACCINE_6_IN_1]: styleSection,
131+
[VaccineTypes.ROTAVIRUS]: styleSection,
131132
};
132133

133134
const getStyledContentForVaccine = async (

0 commit comments

Comments
 (0)