diff --git a/apps/web-tanstack/e2e/home.spec.ts b/apps/web-tanstack/e2e/home.spec.ts new file mode 100644 index 0000000..9db0ea6 --- /dev/null +++ b/apps/web-tanstack/e2e/home.spec.ts @@ -0,0 +1,12 @@ +import { test, expect } from "@playwright/test"; + +test.skip( + "TanStack home renders site name + nav (pending TanStack Start runtime)", + async ({ page }) => { + // Pending: web-tanstack has no dev server yet. When the TanStack Start + // runtime is wired (future plan), update the playwright.config.ts + // webServer to start it on port 3002 and remove this skip. + await page.goto("http://localhost:3002"); + await expect(page.locator("h1").first()).toBeVisible(); + }, +); diff --git a/apps/web-tanstack/package.json b/apps/web-tanstack/package.json index 589d140..df691b1 100644 --- a/apps/web-tanstack/package.json +++ b/apps/web-tanstack/package.json @@ -7,6 +7,7 @@ "build": "echo 'placeholder — TanStack Start build configured in later plan'", "dev": "echo 'placeholder'", "lint": "eslint .", + "test:e2e": "playwright test", "typecheck": "tsc --noEmit" }, "dependencies": { @@ -22,6 +23,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { + "@playwright/test": "^1.50.0", "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@types/node": "^22.0.0", diff --git a/apps/web-tanstack/playwright.config.ts b/apps/web-tanstack/playwright.config.ts new file mode 100644 index 0000000..3a6243c --- /dev/null +++ b/apps/web-tanstack/playwright.config.ts @@ -0,0 +1,21 @@ +import { defineConfig, devices } from "@playwright/test"; + +export default defineConfig({ + testDir: "./e2e", + fullyParallel: true, + retries: process.env.CI ? 2 : 0, + reporter: "list", + use: { + baseURL: "http://localhost:3000", + trace: "on-first-retry", + }, + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + ], + // No webServer: web-tanstack tests run against the shared web-next backend + // (port 3000). When TanStack Start runtime is wired in a future plan, add + // a webServer block here pointing at port 3002. +}); diff --git a/apps/web-tanstack/test-results/.last-run.json b/apps/web-tanstack/test-results/.last-run.json new file mode 100644 index 0000000..cbcc1fb --- /dev/null +++ b/apps/web-tanstack/test-results/.last-run.json @@ -0,0 +1,4 @@ +{ + "status": "passed", + "failedTests": [] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ef8341..9299799 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -207,6 +207,9 @@ importers: specifier: ^19.0.0 version: 19.2.4(react@19.2.4) devDependencies: + '@playwright/test': + specifier: ^1.50.0 + version: 1.59.1 '@repo/eslint-config': specifier: workspace:* version: link:../../packages/eslint-config