Files
radicle-explorer/tests/visual/desktop/landingPage.spec.ts
T
Sebastian Martinez d216caec7d Improve catching of errors when loading routes
- Handle ResponseParseErros, ResponseErrors and normal errors
  differently.
- Show them all in the same `LoadError` view
- Add a subtitle to give users some more information on what could have
  gone wrong.
- Add more properties to the copyable error message to make debugging
  easier.
2024-02-15 13:26:11 -03:00

66 lines
1.8 KiB
TypeScript

import { test, expect, appConfigWithFixture } from "@tests/support/fixtures.js";
test.use({
customAppConfig: true,
});
test("pinned projects", 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,
});
};
});
await page.addInitScript(appConfigWithFixture);
await page.goto("/", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
});
test("load error", 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,
});
};
});
await page.route(
"**/api/v1/projects/rad:z4BwwjPCFNVP27FwVbDFgwVwkjcir",
route => route.fulfill({ status: 500 }),
);
await page.addInitScript(appConfigWithFixture, 8090);
await page.goto("/", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
});
test("response parse error", async ({ page }) => {
await page.addInitScript(appConfigWithFixture);
await page.route("*/**/v1/projects*", route => {
return route.fulfill({
json: [{ name: 1337 }],
});
});
await page.goto("/", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
});
test("response error", async ({ page }) => {
await page.addInitScript(appConfigWithFixture);
await page.route("*/**/v1/projects*", route => {
return route.fulfill({
status: 500,
body: "There is an error in the response",
});
});
await page.goto("/", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
});