Files
voiceon-character-admin/playwright.config.ts
2026-07-27 23:23:36 +09:00

32 lines
1.1 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
const apiMode = process.env.VITE_API_MODE === "mock" ? "mock" : "server";
const webServerPort = apiMode === "mock" ? 8889 : 8888;
const serverTestMatch = [
"**/server-mode-boundary.spec.ts",
"**/smoke.spec.ts",
"**/auth.spec.ts",
"**/accessibility-shell.spec.ts",
] as const;
const mockTestMatch = ["**/mock-preview-shell.spec.ts", "**/mock-mode-boundary.spec.ts"] as const;
export default defineConfig({
testDir: "./tests/e2e",
webServer: {
command: apiMode === "mock" ? "npm run dev:mock" : "npm run dev",
env: { VITE_API_MODE: apiMode },
url: `http://127.0.0.1:${webServerPort}`,
reuseExistingServer: !process.env.CI && apiMode === "server",
},
use: {
baseURL: `http://127.0.0.1:${webServerPort}`,
},
testMatch: apiMode === "mock" ? [...mockTestMatch] : [...serverTestMatch],
projects: [
{ name: "chromium", use: { ...devices["Desktop Chrome"] } },
{ name: "webkit", use: { ...devices["Desktop Safari"] } },
{ name: "mobile-chrome", use: { ...devices["Pixel 5"] } },
{ name: "mobile-safari", use: { ...devices["iPhone 12"] } },
],
});