// ABOUTME: Smoke tests to verify basic application functionality. // ABOUTME: Tests that the app loads and critical pages are accessible. import { expect, test } from "@playwright/test"; test.describe("smoke tests", () => { test("app loads with correct title", async ({ page }) => { await page.goto("/"); // Verify the app loads by checking the page title await expect(page).toHaveTitle("PhaseFlow"); }); test("login page is accessible", async ({ page }) => { await page.goto("/login"); // Verify login page loads await expect(page).toHaveURL(/\/login/); }); test("unauthenticated root redirects or shows login option", async ({ page, }) => { await page.goto("/"); // The app should either redirect to login or show a login link // Check for either condition const url = page.url(); const hasLoginInUrl = url.includes("/login"); const loginLink = page.getByRole("link", { name: /login|sign in/i }); // At least one should be true: either we're on login page or there's a login link if (!hasLoginInUrl) { await expect(loginLink).toBeVisible(); } }); });