Files
radicle-explorer/tests/visual/mobile/cob.spec.ts
T
Thomas Scholtes 72352835eb Update heartwood version
The update resulted in changes to all issue and patch IDs. We adapt the
tests so that they do not rely on fixed IDs.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-11-23 09:21:37 +01:00

81 lines
2.4 KiB
TypeScript

import {
test,
expect,
cobUrl,
viewportSizes,
} from "@tests/support/fixtures.js";
test.use({ viewport: viewportSizes["iPhoneXR"] });
test.beforeEach(async ({ page }) => {
await page.addInitScript(() => {
window.initializeTestStubs = () => {
window.e2eTestStubs.FakeTimers.install({
now: new Date("November 24 2022 12:00:00").valueOf(),
shouldClearNativeTimers: true,
shouldAdvanceTime: false,
});
};
});
});
test("issues page", async ({ page }) => {
await page.goto(`${cobUrl}/issues`, { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot({ fullPage: true });
await page.goto(`${cobUrl}/issues?state=closed`, {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot({ fullPage: true });
});
test("issue page", async ({ page }) => {
const issues = [
["This title has markdown", "open"],
["A closed issue", "closed"],
["A solved issue", "closed"],
];
for (const [name, state] of issues) {
await page.goto(`${cobUrl}/issues?state=${state}`);
await page.getByRole("link", { name }).click();
await page.getByRole("heading", { name }).waitFor();
await expect(page).toHaveScreenshot({ fullPage: true });
}
});
test("patches page", async ({ page }) => {
await page.goto(`${cobUrl}/patches`, {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot({ fullPage: true });
await page.goto(`${cobUrl}/patches?state=draft`, {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot({ fullPage: true });
await page.goto(`${cobUrl}/patches?state=archived`, {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot({ fullPage: true });
await page.goto(`${cobUrl}/patches?state=merged`, {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot({ fullPage: true });
});
test("patch page", async ({ page }) => {
const patches = [
["This patch is going to be reverted to draft", "draft"],
["This patch is going to be archived", "archived"],
["Let's add a README", "merged"],
["Add subtitle to README", "open"],
["Taking another stab at the README", "open"],
];
for (const [name, state] of patches) {
await page.goto(`${cobUrl}/patches?state=${state}`);
await page.getByRole("link", { name }).click();
await page.getByRole("heading", { name }).waitFor();
await expect(page).toHaveScreenshot({ fullPage: true });
}
});