mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-27 07:30:34 +08:00
112 lines
3.5 KiB
TypeScript
112 lines
3.5 KiB
TypeScript
import {
|
|
defaultConfig,
|
|
expect,
|
|
shortNodeRemote,
|
|
test,
|
|
} from "@tests/support/fixtures.js";
|
|
|
|
test("node metadata", async ({ page, peerManager }) => {
|
|
const peer = await peerManager.createPeer({
|
|
name: "node-metadata-peer",
|
|
});
|
|
await peer.startNode({
|
|
node: {
|
|
...defaultConfig.node,
|
|
seedingPolicy: { default: "allow", scope: "all" },
|
|
alias: "palm",
|
|
externalAddresses: ["seed.radicle.test:8123"],
|
|
},
|
|
});
|
|
await peer.startHttpd();
|
|
|
|
await page.goto(peer.uiUrl());
|
|
|
|
await expect(page.getByText(shortNodeRemote).first()).toBeVisible();
|
|
await expect(page.getByText("/radicle:1.0.0-rc.13/")).toBeVisible();
|
|
});
|
|
|
|
test("node projects", async ({ page }) => {
|
|
await page.goto("/nodes/radicle.local");
|
|
const project = page
|
|
.locator(".project-card", { hasText: "source-browsing" })
|
|
.nth(0);
|
|
|
|
// Project metadata.
|
|
{
|
|
await expect(project.getByText("source-browsing")).toBeVisible();
|
|
await expect(
|
|
project.getByText("Git repository for source browsing tests"),
|
|
).toBeVisible();
|
|
}
|
|
});
|
|
|
|
test("show pinned repositories", async ({ page }) => {
|
|
await page.goto("/");
|
|
// Shows pinned project name.
|
|
await expect(page.getByText("source-browsing")).toBeVisible();
|
|
//
|
|
// Shows pinned project description.
|
|
await expect(
|
|
page.getByText("Git repository for source browsing tests"),
|
|
).toBeVisible();
|
|
});
|
|
|
|
test("no duplicate entry for preferred seeds", async ({ page }) => {
|
|
await page.goto("/");
|
|
await expect(page.getByText("127.0.0.1").first()).toBeVisible();
|
|
|
|
await page.getByTitle("Switch preferred seeds").getByRole("button").click();
|
|
await expect(page.getByRole("button", { name: "127.0.0.1" })).toBeVisible();
|
|
|
|
await page.getByPlaceholder("Navigate to seed").fill("127.0.0.1");
|
|
await page.getByPlaceholder("Navigate to seed").press("Enter");
|
|
await expect(page.getByText("Seed node already added.")).toBeVisible();
|
|
|
|
await page.getByPlaceholder("Navigate to seed").fill("");
|
|
await expect(page.getByText("Seed node already added.")).toBeHidden();
|
|
});
|
|
|
|
test("adding and removing a new preferred seed", async ({ page }) => {
|
|
// Proxy requests to seed.example.tld to the local test api.
|
|
await page.route(
|
|
url => url.hostname === "seed.example.tld",
|
|
route =>
|
|
route.fulfill({
|
|
status: 301,
|
|
headers: {
|
|
Location: route
|
|
.request()
|
|
.url()
|
|
.replace("seed.example.tld", "127.0.0.1"),
|
|
},
|
|
}),
|
|
);
|
|
|
|
await page.goto("/");
|
|
await expect(page.getByText("127.0.0.1").first()).toBeVisible();
|
|
|
|
await page.getByTitle("Switch preferred seeds").getByRole("button").click();
|
|
await expect(page.getByRole("button", { name: "127.0.0.1" })).toBeVisible();
|
|
|
|
await page.getByPlaceholder("Navigate to seed").fill("seed.example.tld");
|
|
await page.getByPlaceholder("Navigate to seed").press("Enter");
|
|
await expect(page.getByText("seed.example.tld").first()).toBeVisible();
|
|
|
|
await page.getByTitle("Switch preferred seeds").getByRole("button").click();
|
|
await expect(
|
|
page.getByRole("button", { name: "seed.example.tld" }),
|
|
).toBeVisible();
|
|
|
|
// Test that removing the selected seed doesn't end in an undefined state.
|
|
await page
|
|
.getByRole("button", { name: "seed.example.tld" })
|
|
.getByRole("button")
|
|
.click();
|
|
await expect(page.getByText("127.0.0.1").first()).toBeVisible();
|
|
|
|
await page.getByTitle("Switch preferred seeds").getByRole("button").click();
|
|
await expect(
|
|
page.getByRole("button", { name: "seed.example.tld" }),
|
|
).toBeHidden();
|
|
});
|