35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
import { applyDeterministicPage } from "./helpers.ts";
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
await applyDeterministicPage(page);
|
|
});
|
|
|
|
test("guest landing shows primary calls to action", async ({ page }) => {
|
|
await page.goto("/");
|
|
|
|
await expect(
|
|
page.getByRole("img", { name: "Cyber Hybrid Hub Logo" }),
|
|
).toBeVisible();
|
|
await expect(page.getByRole("button", { name: /enter/i })).toBeVisible();
|
|
await expect(page.getByText(/start real estate onboarding/i)).toBeVisible();
|
|
await expect(
|
|
page.getByRole("button", { name: "Landlord Setup" }),
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("button", { name: "Tenant Setup" }),
|
|
).toBeVisible();
|
|
});
|
|
|
|
test("guest landing shows system ready banner", async ({ page }) => {
|
|
await page.goto("/");
|
|
|
|
await expect(
|
|
page.getByText(/system ready for authentication/i),
|
|
).toBeVisible();
|
|
await expect(page.getByText(/however you found/i)).toBeVisible();
|
|
await expect(
|
|
page.locator("form[action='/auth/login']").filter({ hasText: "ENTER" }),
|
|
).toBeVisible();
|
|
});
|