From 43851cdba02994ab570fee821f657698c6de1823 Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Mon, 26 Aug 2024 12:54:15 -0500 Subject: [PATCH 1/9] Create E2E tests for developer resources index and api pages Fixes #14782 #14781 --- .../e2e/pages/developer-resources/api.ts | 17 ++++ .../e2e/pages/developer-resources/index.ts | 17 ++++ .../spec/all/developer-resources/api.spec.ts | 78 +++++++++++++++++++ .../all/developer-resources/index.spec.ts | 64 +++++++++++++++ 4 files changed, 176 insertions(+) create mode 100644 frontend-react/e2e/pages/developer-resources/api.ts create mode 100644 frontend-react/e2e/pages/developer-resources/index.ts create mode 100644 frontend-react/e2e/spec/all/developer-resources/api.spec.ts create mode 100644 frontend-react/e2e/spec/all/developer-resources/index.spec.ts diff --git a/frontend-react/e2e/pages/developer-resources/api.ts b/frontend-react/e2e/pages/developer-resources/api.ts new file mode 100644 index 00000000000..2a18f7a530d --- /dev/null +++ b/frontend-react/e2e/pages/developer-resources/api.ts @@ -0,0 +1,17 @@ +import { BasePage, BasePageTestArgs } from "../BasePage"; + +export class DeveloperResourcesApiPage extends BasePage { + constructor(testArgs: BasePageTestArgs) { + super( + { + url: "/developer-resources/api", + title: "Guide to connecting with ReportStream's API", + heading: testArgs.page.getByRole("heading", { + name: "ReportStream API", + exact: true, + }), + }, + testArgs, + ); + } +} diff --git a/frontend-react/e2e/pages/developer-resources/index.ts b/frontend-react/e2e/pages/developer-resources/index.ts new file mode 100644 index 00000000000..89ebd75bd0c --- /dev/null +++ b/frontend-react/e2e/pages/developer-resources/index.ts @@ -0,0 +1,17 @@ +import { BasePage, BasePageTestArgs } from "../BasePage"; + +export class DeveloperResourcesIndexPage extends BasePage { + constructor(testArgs: BasePageTestArgs) { + super( + { + url: "/developer-resources", + title: "ReportStream developer resources", + heading: testArgs.page.getByRole("heading", { + name: "Developer resources", + exact: true, + }), + }, + testArgs, + ); + } +} diff --git a/frontend-react/e2e/spec/all/developer-resources/api.spec.ts b/frontend-react/e2e/spec/all/developer-resources/api.spec.ts new file mode 100644 index 00000000000..20ac2321407 --- /dev/null +++ b/frontend-react/e2e/spec/all/developer-resources/api.spec.ts @@ -0,0 +1,78 @@ +import { scrollToFooter, scrollToTop } from "../../../helpers/utils"; +import { DeveloperResourcesApiPage } from "../../../pages/developer-resources/api.js"; +import { test as baseTest, expect } from "../../../test"; + +export interface Fixtures { + developerResourcesApiPage: DeveloperResourcesApiPage; +} + +const test = baseTest.extend({ + developerResourcesApiPage: async ( + { + page: _page, + isMockDisabled, + adminLogin, + senderLogin, + receiverLogin, + storageState, + isFrontendWarningsLog, + frontendWarningsLogPath, + }, + use, + ) => { + const page = new DeveloperResourcesApiPage({ + page: _page, + isMockDisabled, + adminLogin, + senderLogin, + receiverLogin, + storageState, + isFrontendWarningsLog, + frontendWarningsLogPath, + }); + await page.goto(); + await use(page); + }, +}); + +test.describe( + "Developer Resources / API page", + { + tag: "@smoke", + }, + () => { + test("has correct title", async ({ developerResourcesApiPage }) => { + await expect(developerResourcesApiPage.page).toHaveTitle(developerResourcesApiPage.title); + await expect(developerResourcesApiPage.heading).toBeVisible(); + }); + + test("has side nav", async ({ developerResourcesApiPage }) => { + await expect( + developerResourcesApiPage.page.getByRole("navigation", { name: "side-navigation " }), + ).toBeVisible(); + }); + + test("pdf file download works", async ({ developerResourcesApiPage }) => { + const downloadPromise = developerResourcesApiPage.page.waitForEvent("download"); + await developerResourcesApiPage.page.getByRole("link", { name: "downloadable PDF" }).click(); + const download = await downloadPromise; + expect(download.suggestedFilename()).toMatch(/^.+\.pdf$/); + await download.cancel(); + }); + + test.describe("Footer", () => { + test("has footer", async ({ developerResourcesApiPage }) => { + await expect(developerResourcesApiPage.footer).toBeAttached(); + }); + + test("explicit scroll to footer and then scroll to top", async ({ developerResourcesApiPage }) => { + await expect(developerResourcesApiPage.footer).not.toBeInViewport(); + await scrollToFooter(developerResourcesApiPage.page); + await expect(developerResourcesApiPage.footer).toBeInViewport(); + await expect(developerResourcesApiPage.page.getByTestId("govBanner")).not.toBeInViewport(); + await scrollToTop(developerResourcesApiPage.page); + await expect(developerResourcesApiPage.page.getByTestId("govBanner")).toBeInViewport(); + }); + }); + }, +); diff --git a/frontend-react/e2e/spec/all/developer-resources/index.spec.ts b/frontend-react/e2e/spec/all/developer-resources/index.spec.ts new file mode 100644 index 00000000000..b03cd6fdbf3 --- /dev/null +++ b/frontend-react/e2e/spec/all/developer-resources/index.spec.ts @@ -0,0 +1,64 @@ +import { scrollToFooter, scrollToTop } from "../../../helpers/utils"; +import { DeveloperResourcesIndexPage } from "../../../pages/developer-resources/index"; +import { test as baseTest, expect } from "../../../test"; + +export interface Fixtures { + developerResourcesIndexPage: DeveloperResourcesIndexPage; +} + +const test = baseTest.extend({ + developerResourcesIndexPage: async ( + { + page: _page, + isMockDisabled, + adminLogin, + senderLogin, + receiverLogin, + storageState, + isFrontendWarningsLog, + frontendWarningsLogPath, + }, + use, + ) => { + const page = new DeveloperResourcesIndexPage({ + page: _page, + isMockDisabled, + adminLogin, + senderLogin, + receiverLogin, + storageState, + isFrontendWarningsLog, + frontendWarningsLogPath, + }); + await page.goto(); + await use(page); + }, +}); + +test.describe( + "Developer Resources / Index page", + { + tag: "@smoke", + }, + () => { + test("has correct title", async ({ developerResourcesIndexPage }) => { + await expect(developerResourcesIndexPage.page).toHaveTitle(developerResourcesIndexPage.title); + await expect(developerResourcesIndexPage.heading).toBeVisible(); + }); + + test.describe("Footer", () => { + test("has footer", async ({ developerResourcesIndexPage }) => { + await expect(developerResourcesIndexPage.footer).toBeAttached(); + }); + + test("explicit scroll to footer and then scroll to top", async ({ developerResourcesIndexPage }) => { + await expect(developerResourcesIndexPage.footer).not.toBeInViewport(); + await scrollToFooter(developerResourcesIndexPage.page); + await expect(developerResourcesIndexPage.footer).toBeInViewport(); + await expect(developerResourcesIndexPage.page.getByTestId("govBanner")).not.toBeInViewport(); + await scrollToTop(developerResourcesIndexPage.page); + await expect(developerResourcesIndexPage.page.getByTestId("govBanner")).toBeInViewport(); + }); + }); + }, +); From dac02189365a7d43b10e5e28f0bf5d376bcb7d61 Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Mon, 26 Aug 2024 14:07:58 -0500 Subject: [PATCH 2/9] remove dupe, organize --- .../developer-resources/{ => api}/api.ts | 2 +- .../e2e/pages/developer-resources/index.ts | 17 ----- .../{ => developer-resources}/resources.ts | 0 .../developer-resources/{ => api}/api.spec.ts | 6 +- .../all/developer-resources/index.spec.ts | 64 ------------------- .../resources-page.spec.ts | 6 +- 6 files changed, 6 insertions(+), 89 deletions(-) rename frontend-react/e2e/pages/developer-resources/{ => api}/api.ts (88%) delete mode 100644 frontend-react/e2e/pages/developer-resources/index.ts rename frontend-react/e2e/pages/{ => developer-resources}/resources.ts (100%) rename frontend-react/e2e/spec/all/developer-resources/{ => api}/api.spec.ts (92%) delete mode 100644 frontend-react/e2e/spec/all/developer-resources/index.spec.ts rename frontend-react/e2e/spec/all/{ => developer-resources}/resources-page.spec.ts (95%) diff --git a/frontend-react/e2e/pages/developer-resources/api.ts b/frontend-react/e2e/pages/developer-resources/api/api.ts similarity index 88% rename from frontend-react/e2e/pages/developer-resources/api.ts rename to frontend-react/e2e/pages/developer-resources/api/api.ts index 2a18f7a530d..6660188d8bf 100644 --- a/frontend-react/e2e/pages/developer-resources/api.ts +++ b/frontend-react/e2e/pages/developer-resources/api/api.ts @@ -1,4 +1,4 @@ -import { BasePage, BasePageTestArgs } from "../BasePage"; +import { BasePage, BasePageTestArgs } from "../../BasePage"; export class DeveloperResourcesApiPage extends BasePage { constructor(testArgs: BasePageTestArgs) { diff --git a/frontend-react/e2e/pages/developer-resources/index.ts b/frontend-react/e2e/pages/developer-resources/index.ts deleted file mode 100644 index 89ebd75bd0c..00000000000 --- a/frontend-react/e2e/pages/developer-resources/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BasePage, BasePageTestArgs } from "../BasePage"; - -export class DeveloperResourcesIndexPage extends BasePage { - constructor(testArgs: BasePageTestArgs) { - super( - { - url: "/developer-resources", - title: "ReportStream developer resources", - heading: testArgs.page.getByRole("heading", { - name: "Developer resources", - exact: true, - }), - }, - testArgs, - ); - } -} diff --git a/frontend-react/e2e/pages/resources.ts b/frontend-react/e2e/pages/developer-resources/resources.ts similarity index 100% rename from frontend-react/e2e/pages/resources.ts rename to frontend-react/e2e/pages/developer-resources/resources.ts diff --git a/frontend-react/e2e/spec/all/developer-resources/api.spec.ts b/frontend-react/e2e/spec/all/developer-resources/api/api.spec.ts similarity index 92% rename from frontend-react/e2e/spec/all/developer-resources/api.spec.ts rename to frontend-react/e2e/spec/all/developer-resources/api/api.spec.ts index 20ac2321407..4fbc7515d25 100644 --- a/frontend-react/e2e/spec/all/developer-resources/api.spec.ts +++ b/frontend-react/e2e/spec/all/developer-resources/api/api.spec.ts @@ -1,6 +1,6 @@ -import { scrollToFooter, scrollToTop } from "../../../helpers/utils"; -import { DeveloperResourcesApiPage } from "../../../pages/developer-resources/api.js"; -import { test as baseTest, expect } from "../../../test"; +import { scrollToFooter, scrollToTop } from "../../../../helpers/utils.js"; +import { DeveloperResourcesApiPage } from "../../../../pages/developer-resources/api/api.js"; +import { test as baseTest, expect } from "../../../../test.js"; export interface Fixtures { developerResourcesApiPage: DeveloperResourcesApiPage; diff --git a/frontend-react/e2e/spec/all/developer-resources/index.spec.ts b/frontend-react/e2e/spec/all/developer-resources/index.spec.ts deleted file mode 100644 index b03cd6fdbf3..00000000000 --- a/frontend-react/e2e/spec/all/developer-resources/index.spec.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { scrollToFooter, scrollToTop } from "../../../helpers/utils"; -import { DeveloperResourcesIndexPage } from "../../../pages/developer-resources/index"; -import { test as baseTest, expect } from "../../../test"; - -export interface Fixtures { - developerResourcesIndexPage: DeveloperResourcesIndexPage; -} - -const test = baseTest.extend({ - developerResourcesIndexPage: async ( - { - page: _page, - isMockDisabled, - adminLogin, - senderLogin, - receiverLogin, - storageState, - isFrontendWarningsLog, - frontendWarningsLogPath, - }, - use, - ) => { - const page = new DeveloperResourcesIndexPage({ - page: _page, - isMockDisabled, - adminLogin, - senderLogin, - receiverLogin, - storageState, - isFrontendWarningsLog, - frontendWarningsLogPath, - }); - await page.goto(); - await use(page); - }, -}); - -test.describe( - "Developer Resources / Index page", - { - tag: "@smoke", - }, - () => { - test("has correct title", async ({ developerResourcesIndexPage }) => { - await expect(developerResourcesIndexPage.page).toHaveTitle(developerResourcesIndexPage.title); - await expect(developerResourcesIndexPage.heading).toBeVisible(); - }); - - test.describe("Footer", () => { - test("has footer", async ({ developerResourcesIndexPage }) => { - await expect(developerResourcesIndexPage.footer).toBeAttached(); - }); - - test("explicit scroll to footer and then scroll to top", async ({ developerResourcesIndexPage }) => { - await expect(developerResourcesIndexPage.footer).not.toBeInViewport(); - await scrollToFooter(developerResourcesIndexPage.page); - await expect(developerResourcesIndexPage.footer).toBeInViewport(); - await expect(developerResourcesIndexPage.page.getByTestId("govBanner")).not.toBeInViewport(); - await scrollToTop(developerResourcesIndexPage.page); - await expect(developerResourcesIndexPage.page.getByTestId("govBanner")).toBeInViewport(); - }); - }); - }, -); diff --git a/frontend-react/e2e/spec/all/resources-page.spec.ts b/frontend-react/e2e/spec/all/developer-resources/resources-page.spec.ts similarity index 95% rename from frontend-react/e2e/spec/all/resources-page.spec.ts rename to frontend-react/e2e/spec/all/developer-resources/resources-page.spec.ts index ab99383c089..08f7457653a 100644 --- a/frontend-react/e2e/spec/all/resources-page.spec.ts +++ b/frontend-react/e2e/spec/all/developer-resources/resources-page.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from "@playwright/test"; -import * as resources from "../../pages/resources"; +import * as resources from "../../../pages/developer-resources/resources"; // eslint-disable-next-line playwright/no-skipped-test test.describe.skip("Developer Resources page", () => { @@ -61,9 +61,7 @@ test.describe.skip("Developer Resources page", () => { }); } - test("should redirect unauthenticated users to login page on managing public key", async ({ - page, - }) => { + test("should redirect unauthenticated users to login page on managing public key", async ({ page }) => { await page .getByRole("link", { name: "Manage your public key", From 482048b52b9347cdeb95cd6711251ab17217e8c0 Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:13:17 -0500 Subject: [PATCH 3/9] merge fixes --- .../e2e/pages/{ => public}/developer-resources/api/api.ts | 0 .../e2e/pages/public/{ => developer-resources}/resources.ts | 0 .../e2e/spec/all/{ => public}/developer-resources/api/api.spec.ts | 0 .../all/public/{ => developer-resources}/resources-page.spec.ts | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename frontend-react/e2e/pages/{ => public}/developer-resources/api/api.ts (100%) rename frontend-react/e2e/pages/public/{ => developer-resources}/resources.ts (100%) rename frontend-react/e2e/spec/all/{ => public}/developer-resources/api/api.spec.ts (100%) rename frontend-react/e2e/spec/all/public/{ => developer-resources}/resources-page.spec.ts (100%) diff --git a/frontend-react/e2e/pages/developer-resources/api/api.ts b/frontend-react/e2e/pages/public/developer-resources/api/api.ts similarity index 100% rename from frontend-react/e2e/pages/developer-resources/api/api.ts rename to frontend-react/e2e/pages/public/developer-resources/api/api.ts diff --git a/frontend-react/e2e/pages/public/resources.ts b/frontend-react/e2e/pages/public/developer-resources/resources.ts similarity index 100% rename from frontend-react/e2e/pages/public/resources.ts rename to frontend-react/e2e/pages/public/developer-resources/resources.ts diff --git a/frontend-react/e2e/spec/all/developer-resources/api/api.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts similarity index 100% rename from frontend-react/e2e/spec/all/developer-resources/api/api.spec.ts rename to frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts diff --git a/frontend-react/e2e/spec/all/public/resources-page.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts similarity index 100% rename from frontend-react/e2e/spec/all/public/resources-page.spec.ts rename to frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts From 6f267dd53e9f2b93ae44eeb8efdf2eab4174172e Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:36:09 -0500 Subject: [PATCH 4/9] merge fixes --- .../e2e/pages/public/developer-resources/api/api.ts | 2 +- .../e2e/spec/all/public/developer-resources/api/api.spec.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend-react/e2e/pages/public/developer-resources/api/api.ts b/frontend-react/e2e/pages/public/developer-resources/api/api.ts index 6660188d8bf..2267192ac75 100644 --- a/frontend-react/e2e/pages/public/developer-resources/api/api.ts +++ b/frontend-react/e2e/pages/public/developer-resources/api/api.ts @@ -1,4 +1,4 @@ -import { BasePage, BasePageTestArgs } from "../../BasePage"; +import { BasePage, BasePageTestArgs } from "../../../BasePage"; export class DeveloperResourcesApiPage extends BasePage { constructor(testArgs: BasePageTestArgs) { diff --git a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts index 4fbc7515d25..39ab4062136 100644 --- a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts +++ b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts @@ -1,6 +1,6 @@ -import { scrollToFooter, scrollToTop } from "../../../../helpers/utils.js"; -import { DeveloperResourcesApiPage } from "../../../../pages/developer-resources/api/api.js"; -import { test as baseTest, expect } from "../../../../test.js"; +import { scrollToFooter, scrollToTop } from "../../../../../helpers/utils.js"; +import { DeveloperResourcesApiPage } from "../../../../../pages/public/developer-resources/api/api"; +import { test as baseTest, expect } from "../../../../../test.js"; export interface Fixtures { developerResourcesApiPage: DeveloperResourcesApiPage; From 58056efb364994c72f496e64e296330e13ee85fe Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 15:42:37 -0500 Subject: [PATCH 5/9] merge fixes --- .../e2e/pages/public/developer-resources/resources.ts | 2 +- .../all/public/developer-resources/resources-page.spec.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend-react/e2e/pages/public/developer-resources/resources.ts b/frontend-react/e2e/pages/public/developer-resources/resources.ts index 5accb844500..30e23a65b85 100644 --- a/frontend-react/e2e/pages/public/developer-resources/resources.ts +++ b/frontend-react/e2e/pages/public/developer-resources/resources.ts @@ -1,4 +1,4 @@ -import { BasePage, BasePageTestArgs } from "../BasePage"; +import { BasePage, BasePageTestArgs } from "../../BasePage"; export class DeveloperResourcesPage extends BasePage { constructor(testArgs: BasePageTestArgs) { diff --git a/frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts index 1acd4e1883f..02b5003b9b1 100644 --- a/frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts +++ b/frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts @@ -1,5 +1,5 @@ -import { DeveloperResourcesPage } from "../../../pages/public/resources"; -import { test as baseTest } from "../../../test"; +import { DeveloperResourcesPage } from "../../../../pages/public/developer-resources/resources"; +import { test as baseTest } from "../../../../test"; export interface DeveloperResourcesPageFixtures { developerResourcesPage: DeveloperResourcesPage; From 36a152e0a69304c3864609d9f5eae491c24d98e1 Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 16:15:12 -0500 Subject: [PATCH 6/9] fix test pattern --- .../public/developer-resources/api/api.spec.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts index 39ab4062136..0758d9492df 100644 --- a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts +++ b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts @@ -1,4 +1,3 @@ -import { scrollToFooter, scrollToTop } from "../../../../../helpers/utils.js"; import { DeveloperResourcesApiPage } from "../../../../../pages/public/developer-resources/api/api"; import { test as baseTest, expect } from "../../../../../test.js"; @@ -60,19 +59,12 @@ test.describe( await download.cancel(); }); - test.describe("Footer", () => { - test("has footer", async ({ developerResourcesApiPage }) => { - await expect(developerResourcesApiPage.footer).toBeAttached(); - }); + test("has correct title + heading", async ({ developerResourcesApiPage }) => { + await developerResourcesApiPage.testHeader(); + }); - test("explicit scroll to footer and then scroll to top", async ({ developerResourcesApiPage }) => { - await expect(developerResourcesApiPage.footer).not.toBeInViewport(); - await scrollToFooter(developerResourcesApiPage.page); - await expect(developerResourcesApiPage.footer).toBeInViewport(); - await expect(developerResourcesApiPage.page.getByTestId("govBanner")).not.toBeInViewport(); - await scrollToTop(developerResourcesApiPage.page); - await expect(developerResourcesApiPage.page.getByTestId("govBanner")).toBeInViewport(); - }); + test("footer", async ({ developerResourcesApiPage }) => { + await developerResourcesApiPage.testFooter(); }); }, ); From fa98374b3fb1c0ab690073a41c99fbfa7256c9af Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 16:24:09 -0500 Subject: [PATCH 7/9] fix test pattern --- .../e2e/spec/all/public/developer-resources/api/api.spec.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts index 0758d9492df..01bd13b1b25 100644 --- a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts +++ b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts @@ -46,9 +46,7 @@ test.describe( }); test("has side nav", async ({ developerResourcesApiPage }) => { - await expect( - developerResourcesApiPage.page.getByRole("navigation", { name: "side-navigation " }), - ).toBeVisible(); + await developerResourcesApiPage.testSidenav([]); }); test("pdf file download works", async ({ developerResourcesApiPage }) => { From 0944e8113316fce4b17ee210f00ea6a222ca2951 Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 17:59:44 -0500 Subject: [PATCH 8/9] remove redundant test --- .../e2e/spec/all/public/developer-resources/api/api.spec.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts index 01bd13b1b25..e12dc83339f 100644 --- a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts +++ b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts @@ -40,11 +40,6 @@ test.describe( tag: "@smoke", }, () => { - test("has correct title", async ({ developerResourcesApiPage }) => { - await expect(developerResourcesApiPage.page).toHaveTitle(developerResourcesApiPage.title); - await expect(developerResourcesApiPage.heading).toBeVisible(); - }); - test("has side nav", async ({ developerResourcesApiPage }) => { await developerResourcesApiPage.testSidenav([]); }); From c9cd04d47ca2e374fdb96d0b6c994eea32120129 Mon Sep 17 00:00:00 2001 From: Joseph Andersen <12385932+jpandersen87@users.noreply.github.com> Date: Tue, 27 Aug 2024 18:12:13 -0500 Subject: [PATCH 9/9] sidenav --- frontend-react/e2e/helpers/internal-links.ts | 23 +++++++++++++++++++ .../developer-resources/api/api.spec.ts | 3 ++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/frontend-react/e2e/helpers/internal-links.ts b/frontend-react/e2e/helpers/internal-links.ts index 3ad68bb073a..641137fb76b 100644 --- a/frontend-react/e2e/helpers/internal-links.ts +++ b/frontend-react/e2e/helpers/internal-links.ts @@ -56,3 +56,26 @@ export const gettingStartedSideNav = [ path: "/getting-started/receiving-data", }, ]; + +export const developerResourcesApiSideNav = [ + { + name: "ReportStream API", + path: "/developer-resources/api", + }, + { + name: "Getting started", + path: "/developer-resources/api/getting-started", + }, + { + name: "Documentation", + path: "/developer-resources/api/documentation", + }, + { + name: "Responses from ReportStream", + path: "/developer-resources/api/documentation/responses-from-reportstream", + }, + { + name: "Sample payloads and output", + path: "/developer-resources/api/documentation/sample-payloads-and-output", + }, +]; diff --git a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts index e12dc83339f..16f850ce267 100644 --- a/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts +++ b/frontend-react/e2e/spec/all/public/developer-resources/api/api.spec.ts @@ -1,3 +1,4 @@ +import { developerResourcesApiSideNav } from "../../../../../helpers/internal-links"; import { DeveloperResourcesApiPage } from "../../../../../pages/public/developer-resources/api/api"; import { test as baseTest, expect } from "../../../../../test.js"; @@ -41,7 +42,7 @@ test.describe( }, () => { test("has side nav", async ({ developerResourcesApiPage }) => { - await developerResourcesApiPage.testSidenav([]); + await developerResourcesApiPage.testSidenav(developerResourcesApiSideNav); }); test("pdf file download works", async ({ developerResourcesApiPage }) => {