Files
radicle-explorer/tests/visual/desktop/node.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 } from "@tests/support/fixtures.js";
import { createProject } from "@tests/support/project.js";
test("node page", 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.goto("/nodes/radicle.local", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
});
test("private projects", async ({ page, authenticatedPeer }) => {
await createProject(authenticatedPeer, {
name: "private-project",
visibility: "private",
});
await page.goto("/", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
await page.goto(authenticatedPeer.uiUrl(), { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
await page.getByRole("link", { name: "private-project Private" }).click();
await expect(page).toHaveScreenshot();
});
test("node not found", async ({ page }) => {
await page.goto("/nodes/this.node.does.not.exist.xyz", {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot();
});
test("response parse error", async ({ page }) => {
await page.route("*/**/v1/projects*", route => {
return route.fulfill({
json: [{ name: 1337 }],
});
});
await page.goto("/nodes/radicle.local", {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot();
});
test("response error", async ({ page }) => {
await page.route("*/**/v1/projects*", route => {
return route.fulfill({
status: 500,
});
});
await page.goto("/nodes/radicle.local", {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot();
});