docs(arr): fleet consolidated on FrankBook-Pro, VPN egress proven; E2E counts derived from registry
This commit is contained in:
@@ -23,8 +23,13 @@ test("admin panel renders admin-category services", async ({ page }) => {
|
||||
|
||||
test("admin open links reach their apps through SSO", async ({ page }) => {
|
||||
test.setTimeout(240_000);
|
||||
// Expected link count comes from the live registry (admin showLink=true
|
||||
// entries, now including the *arr vhosts that use their own auth).
|
||||
const registry: { name: string; category: string; showLink: boolean }[] =
|
||||
await (await page.request.get("/services.json")).json();
|
||||
const expectedAdminLinks = registry.filter((s) => s.category === "admin" && s.showLink).length;
|
||||
await page.goto("/admin/");
|
||||
await expect(page.locator("#grid a.open")).toHaveCount(3); // grafana, prometheus, loki
|
||||
await expect(page.locator("#grid a.open")).toHaveCount(expectedAdminLinks);
|
||||
const hrefs = await page.locator("#grid a.open").evaluateAll((els) =>
|
||||
els.map((el) => (el as HTMLAnchorElement).href),
|
||||
);
|
||||
|
||||
@@ -22,9 +22,14 @@ async function settleThroughGuard(page: Page, targetHost: string): Promise<void>
|
||||
|
||||
test("every user open link reaches its app", async ({ page }) => {
|
||||
test.setTimeout(420_000);
|
||||
await page.goto("/");
|
||||
await expect(page.locator("#grid a.open")).toHaveCount(9);
|
||||
// Expected link count comes from the live registry, mirroring the
|
||||
// showLink=true user entries — a registry edit cannot stale this test.
|
||||
const registry: { name: string; category: string; showLink: boolean }[] =
|
||||
await (await page.request.get("/services.json")).json();
|
||||
const expectedUserLinks = registry.filter((s) => s.category === "user" && s.showLink).length;
|
||||
|
||||
await page.goto("/");
|
||||
await expect(page.locator("#grid a.open")).toHaveCount(expectedUserLinks);
|
||||
const hrefs = await page
|
||||
.locator("#grid a.open")
|
||||
.evaluateAll((els) => els.map((el) => ({ href: (el as HTMLAnchorElement).href, label: el.textContent ?? "" })));
|
||||
@@ -43,7 +48,7 @@ test("every user open link reaches its app", async ({ page }) => {
|
||||
failures.push(`${link.label}: ${err instanceof Error ? err.message : String(err)}`);
|
||||
}
|
||||
await page.goto("/");
|
||||
await expect(page.locator("#grid a.open")).toHaveCount(9);
|
||||
await expect(page.locator("#grid a.open")).toHaveCount(expectedUserLinks);
|
||||
}
|
||||
expect(failures, failures.join("\n")).toEqual([]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user