Merge pull request #216 from element-hq/langleyd/playwright-e2e-convention

Add per module playwright projects with /e2e convention for auto-discovery of playwright test
This commit is contained in:
David Langley
2026-03-05 20:57:42 +00:00
committed by GitHub
48 changed files with 7 additions and 7 deletions
@@ -26,7 +26,7 @@ test.describe("Banner", () => {
for (const path of ["logo.svg", "app1.png", "app2.png", "opendesk/"]) { for (const path of ["logo.svg", "app1.png", "app2.png", "opendesk/"]) {
await context.route(`/${path}*`, async (route) => { await context.route(`/${path}*`, async (route) => {
const file = new URL(route.request().url()).pathname; const file = new URL(route.request().url()).pathname;
await route.fulfill({ path: `${moduleDir}/tests/fixture/${file}` }); await route.fulfill({ path: `${moduleDir}/e2e/fixture/${file}` });
}); });
} }
@@ -107,13 +107,13 @@ test.describe("Banner", () => {
await context.route("http://localhost:8080/ics/navigation.json*", async (route) => { await context.route("http://localhost:8080/ics/navigation.json*", async (route) => {
await navigationJsonResolver.promise; await navigationJsonResolver.promise;
await route.fulfill({ await route.fulfill({
path: `${moduleDir}/tests/fixture/navigation.json`, path: `${moduleDir}/e2e/fixture/navigation.json`,
contentType: "application/json", contentType: "application/json",
}); });
}); });
await context.route("http://localhost:8080/ics/silent", async (route) => { await context.route("http://localhost:8080/ics/silent", async (route) => {
await route.fulfill({ await route.fulfill({
path: `${moduleDir}/tests/fixture/silent/index.html`, path: `${moduleDir}/e2e/fixture/silent/index.html`,
contentType: "text/html", contentType: "text/html",
}); });
}); });

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 236 B

Before

Width:  |  Height:  |  Size: 519 B

After

Width:  |  Height:  |  Size: 519 B

Before

Width:  |  Height:  |  Size: 493 B

After

Width:  |  Height:  |  Size: 493 B

Before

Width:  |  Height:  |  Size: 731 B

After

Width:  |  Height:  |  Size: 731 B

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 586 B

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 508 B

Before

Width:  |  Height:  |  Size: 486 B

After

Width:  |  Height:  |  Size: 486 B

Before

Width:  |  Height:  |  Size: 869 B

After

Width:  |  Height:  |  Size: 869 B

Before

Width:  |  Height:  |  Size: 414 B

After

Width:  |  Height:  |  Size: 414 B

Before

Width:  |  Height:  |  Size: 718 B

After

Width:  |  Height:  |  Size: 718 B

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Before

Width:  |  Height:  |  Size: 783 B

After

Width:  |  Height:  |  Size: 783 B

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

@@ -51,20 +51,20 @@ test.use({
page: async ({ context, page, moduleDir }, use) => { page: async ({ context, page, moduleDir }, use) => {
for (const path of ["logo.svg", "app1.png", "app2.png"]) { for (const path of ["logo.svg", "app1.png", "app2.png"]) {
await context.route(`/${path}*`, async (route) => { await context.route(`/${path}*`, async (route) => {
await route.fulfill({ path: `${moduleDir}/tests/fixture/${path}` }); await route.fulfill({ path: `${moduleDir}/e2e/fixture/${path}` });
}); });
} }
await context.route("http://localhost:8080/ics/navigation.json*", async (route) => { await context.route("http://localhost:8080/ics/navigation.json*", async (route) => {
await route.fulfill({ await route.fulfill({
path: `${moduleDir}/tests/fixture/navigation.json`, path: `${moduleDir}/e2e/fixture/navigation.json`,
contentType: "application/json", contentType: "application/json",
}); });
}); });
await context.route("http://localhost:8080/ics/silent", async (route) => { await context.route("http://localhost:8080/ics/silent", async (route) => {
await route.fulfill({ path: `${moduleDir}/tests/fixture/silent-login.html`, contentType: "text/html" }); await route.fulfill({ path: `${moduleDir}/e2e/fixture/silent-login.html`, contentType: "text/html" });
}); });
await context.route("http://localhost:8080/widget.html*", async (route) => { await context.route("http://localhost:8080/widget.html*", async (route) => {
await route.fulfill({ path: `${moduleDir}/tests/fixture/widget.html`, contentType: "text/html" }); await route.fulfill({ path: `${moduleDir}/e2e/fixture/widget.html`, contentType: "text/html" });
}); });
await page.goto("/"); await page.goto("/");

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB