Files
radicle-explorer/tests/visual/desktop/node.spec.ts
T
Rūdolfs Ošiņš c72494f620 Enable localhost connections in radicle-explorer
Allow radicle-explorer to connect to a locally running radicle-httpd via
https://app.radicle.xyz/nodes/localhost. This was previously disabled to
encourage use of Radicle Desktop, but is now useful for testing the new
always-on node in local development environments.

Remove support for /nodes/radicle.local, an undocumented and unused convention.

Fix remote node loading when Cloudflare URL-encodes port separator (: → %3A).
2026-01-12 14:38:50 -06:00

59 lines
1.4 KiB
TypeScript

import { test, expect } from "@tests/support/fixtures.js";
test("node page", async ({ page }) => {
await page.clock.setFixedTime(new Date("November 24 2022 12:00:00"));
await page.goto("/nodes/localhost", { waitUntil: "networkidle" });
await expect(page).toHaveScreenshot();
});
test("empty pinned repos", async ({ page }) => {
await page.route(
({ hostname, pathname }) =>
pathname === "/api/v1/repos" && hostname === "127.0.0.1",
async route => {
await route.fulfill({
status: 200,
contentType: "application/json",
json: [],
});
},
);
await page.goto("/", {
waitUntil: "networkidle",
});
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/repos*", route => {
return route.fulfill({
json: [{ name: 1337 }],
});
});
await page.goto("/nodes/localhost", {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot();
});
test("response error", async ({ page }) => {
await page.route("*/**/v1/repos*", route => {
return route.fulfill({
status: 500,
});
});
await page.goto("/nodes/localhost", {
waitUntil: "networkidle",
});
await expect(page).toHaveScreenshot();
});