Skip to content

Commit eee3ae9

Browse files
authored
Create E2E tests for api page (#15709)
* Create E2E tests for developer resources index and api pages Fixes #14782 #14781
1 parent 1ba9021 commit eee3ae9

File tree

4 files changed

+84
-3
lines changed

4 files changed

+84
-3
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { BasePage, BasePageTestArgs } from "../../../BasePage";
2+
3+
export class DeveloperResourcesApiPage extends BasePage {
4+
constructor(testArgs: BasePageTestArgs) {
5+
super(
6+
{
7+
url: "/developer-resources/api",
8+
title: "Guide to connecting with ReportStream's API",
9+
heading: testArgs.page.getByRole("heading", {
10+
name: "ReportStream API",
11+
exact: true,
12+
}),
13+
},
14+
testArgs,
15+
);
16+
}
17+
}

frontend-react/e2e/pages/public/resources.ts renamed to frontend-react/e2e/pages/public/developer-resources/resources.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BasePage, BasePageTestArgs } from "../BasePage";
1+
import { BasePage, BasePageTestArgs } from "../../BasePage";
22

33
export class DeveloperResourcesPage extends BasePage {
44
constructor(testArgs: BasePageTestArgs) {
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import { developerResourcesApiSideNav } from "../../../../../helpers/internal-links";
2+
import { DeveloperResourcesApiPage } from "../../../../../pages/public/developer-resources/api/api";
3+
import { test as baseTest, expect } from "../../../../../test.js";
4+
5+
export interface Fixtures {
6+
developerResourcesApiPage: DeveloperResourcesApiPage;
7+
}
8+
9+
const test = baseTest.extend<Fixtures>({
10+
developerResourcesApiPage: async (
11+
{
12+
page: _page,
13+
isMockDisabled,
14+
adminLogin,
15+
senderLogin,
16+
receiverLogin,
17+
storageState,
18+
isFrontendWarningsLog,
19+
frontendWarningsLogPath,
20+
},
21+
use,
22+
) => {
23+
const page = new DeveloperResourcesApiPage({
24+
page: _page,
25+
isMockDisabled,
26+
adminLogin,
27+
senderLogin,
28+
receiverLogin,
29+
storageState,
30+
isFrontendWarningsLog,
31+
frontendWarningsLogPath,
32+
});
33+
await page.goto();
34+
await use(page);
35+
},
36+
});
37+
38+
test.describe(
39+
"Developer Resources / API page",
40+
{
41+
tag: "@smoke",
42+
},
43+
() => {
44+
test("has side nav", async ({ developerResourcesApiPage }) => {
45+
await developerResourcesApiPage.testSidenav(developerResourcesApiSideNav);
46+
});
47+
48+
test("pdf file download works", async ({ developerResourcesApiPage }) => {
49+
const downloadPromise = developerResourcesApiPage.page.waitForEvent("download");
50+
await developerResourcesApiPage.page.getByRole("link", { name: "downloadable PDF" }).click();
51+
const download = await downloadPromise;
52+
expect(download.suggestedFilename()).toMatch(/^.+\.pdf$/);
53+
await download.cancel();
54+
});
55+
56+
test("has correct title + heading", async ({ developerResourcesApiPage }) => {
57+
await developerResourcesApiPage.testHeader();
58+
});
59+
60+
test("footer", async ({ developerResourcesApiPage }) => {
61+
await developerResourcesApiPage.testFooter();
62+
});
63+
},
64+
);

frontend-react/e2e/spec/all/public/resources-page.spec.ts renamed to frontend-react/e2e/spec/all/public/developer-resources/resources-page.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { DeveloperResourcesPage } from "../../../pages/public/resources";
2-
import { test as baseTest } from "../../../test";
1+
import { DeveloperResourcesPage } from "../../../../pages/public/developer-resources/resources";
2+
import { test as baseTest } from "../../../../test";
33

44
export interface DeveloperResourcesPageFixtures {
55
developerResourcesPage: DeveloperResourcesPage;

0 commit comments

Comments
 (0)