fix(test): assert real shipped behaviour for signed-out /products #9

Merged
sharang merged 1 commits from fix/e2e-products into main 2026-05-19 15:09:02 +00:00
+6 -11
View File
@@ -12,18 +12,13 @@ test.describe("tenant subdomain @needs-stack", () => {
await expect(page.getByRole("button", { name: /Sign in with Keycloak/i })).toBeVisible();
});
test("acme /products requires sign-in", async ({ page }) => {
test("acme /products is gated when signed out", async ({ page }) => {
await page.goto("/products");
// Either the user is sent to dashboard's sign-in form, or the page renders
// the canSee=false branch (NotAuthorized) depending on session state.
// Both are legitimate; the assertion is that we do NOT see the empty
// product tile body without a session.
const isSignedIn = await page.getByRole("heading", { name: /Products/i }).isVisible();
if (!isSignedIn) {
await expect(
page.getByRole("button", { name: /Sign in with Keycloak/i }),
).toBeVisible();
}
// Signed-out session means canSee(null, "products") is false, so the
// page renders the 'NotAuthorized' component. The dashboard route is
// the only place that surfaces the Sign-in button today — we'll add
// a redirect-to-sign-in in M10.1 once the surface set firms up.
await expect(page.getByRole("heading", { name: /403/i })).toBeVisible();
});
test("unknown tenant slug 404s", async ({ page }) => {