import { test, expect } from "@playwright/test"; test.describe("API endpoints", () => { test("GET /api/modules returns 25+ modules", async ({ request }) => { const res = await request.get("/api/modules"); expect(res.status()).toBe(200); const data = await res.json(); expect(data).toHaveProperty("modules"); const modules = data.modules; expect(Array.isArray(modules)).toBe(true); expect(modules.length).toBeGreaterThanOrEqual(24); // Each module should have at least id, name, icon for (const mod of modules) { expect(mod).toHaveProperty("id"); expect(mod).toHaveProperty("name"); expect(mod).toHaveProperty("icon"); } }); test("GET /.well-known/webauthn returns valid config", async ({ request }) => { const res = await request.get("/.well-known/webauthn"); // Should return 200 with origins or may not exist if (res.status() === 200) { const data = await res.json(); expect(data).toHaveProperty("origins"); expect(Array.isArray(data.origins)).toBe(true); } else { // If not implemented, should at least not be a 500 expect(res.status()).toBeLessThan(500); } }); test("unknown API route returns < 500", async ({ request }) => { const res = await request.get("/api/nonexistent-route-12345"); expect(res.status()).toBeLessThan(500); }); });