learning_ai_notes/web/e2e/navigation.spec.ts
saravanakumardb1 dd62d3bf5c test(web+mobile): Playwright E2E scaffold + 23 mobile store tests [C4, B7]
- web: playwright.config.ts + e2e/navigation.spec.ts (7 navigation tests, scaffolded)
- web: exclude e2e/ from tsconfig (playwright not yet installed as dep)
- mobile: notes-store.test.ts (7 tests: hydrate, openNote, saveDraft, updateNote)
- mobile: workspace-store.test.ts (5 tests: hydrate, preserve/reset active, set/clear)
- mobile: inbox-store.test.ts (5 tests: hydrate, approve, reject, unknown id guards)
- mobile: auth-store.test.ts (6 tests: bootstrap, signIn, signOut, failure paths)
- Total: 76 backend, 14 web, 23 mobile = 113 tests
2026-03-19 08:51:36 -07:00

48 lines
1.7 KiB
TypeScript

import { test, expect } from "@playwright/test";
test.describe("Navigation", () => {
test("landing page redirects to dashboard", async ({ page }) => {
await page.goto("/");
await expect(page).toHaveURL(/dashboard/);
});
test("dashboard renders summary cards", async ({ page }) => {
await page.goto("/dashboard");
await expect(page.getByText("Dashboard")).toBeVisible();
await expect(page.getByText("Active workspaces")).toBeVisible();
await expect(page.getByText("Tracked notes")).toBeVisible();
});
test("sidebar links navigate correctly", async ({ page }) => {
await page.goto("/dashboard");
await page.getByRole("link", { name: "Workspaces" }).click();
await expect(page).toHaveURL(/workspaces/);
await page.getByRole("link", { name: "Search" }).click();
await expect(page).toHaveURL(/search/);
await page.getByRole("link", { name: "Reviews" }).click();
await expect(page).toHaveURL(/reviews/);
await page.getByRole("link", { name: "Settings" }).click();
await expect(page).toHaveURL(/settings/);
});
test("workspaces page renders", async ({ page }) => {
await page.goto("/workspaces");
await expect(page.getByText("Workspaces")).toBeVisible();
});
test("search page renders", async ({ page }) => {
await page.goto("/search");
await expect(page.getByText("Search")).toBeVisible();
});
test("reviews page renders", async ({ page }) => {
await page.goto("/reviews");
await expect(page.getByText("Reviews")).toBeVisible();
});
test("settings page renders", async ({ page }) => {
await page.goto("/settings");
await expect(page.getByText("Settings")).toBeVisible();
});
});