Checkpoint: v4.0 media service, compose deploy, and verified docs
这个提交包含在:
62
tests/e2e/app.spec.ts
普通文件
62
tests/e2e/app.spec.ts
普通文件
@@ -0,0 +1,62 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { installAppMocks } from "./helpers/mockApp";
|
||||
|
||||
test("login redirects into dashboard with mocked auth", async ({ page }) => {
|
||||
await installAppMocks(page, { authenticated: false });
|
||||
|
||||
await page.goto("/login");
|
||||
await expect(page.getByTestId("login-title")).toBeVisible();
|
||||
|
||||
await page.getByTestId("login-username-input").fill("TestPlayer");
|
||||
await page.getByTestId("login-submit-button").click();
|
||||
|
||||
await expect(page).toHaveURL(/\/dashboard$/);
|
||||
await expect(page.getByTestId("dashboard-title")).toContainText("TestPlayer");
|
||||
});
|
||||
|
||||
test("training page shows plan generation flow", async ({ page }) => {
|
||||
await installAppMocks(page, { authenticated: true });
|
||||
|
||||
await page.goto("/training");
|
||||
await expect(page.getByTestId("training-title")).toBeVisible();
|
||||
await expect(page.getByTestId("training-generate-button")).toBeVisible();
|
||||
});
|
||||
|
||||
test("videos page renders video library items", async ({ page }) => {
|
||||
await installAppMocks(page, { authenticated: true });
|
||||
|
||||
await page.goto("/videos");
|
||||
await expect(page.getByTestId("videos-title")).toBeVisible();
|
||||
await expect(page.getByTestId("video-card")).toHaveCount(1);
|
||||
});
|
||||
|
||||
test("live camera page exposes camera startup controls", async ({ page }) => {
|
||||
await installAppMocks(page, { authenticated: true });
|
||||
|
||||
await page.goto("/live-camera");
|
||||
await expect(page.getByTestId("live-camera-start-button")).toBeVisible();
|
||||
});
|
||||
|
||||
test("recorder flow archives a session and exposes it in videos", async ({ page }) => {
|
||||
await installAppMocks(page, { authenticated: true, videos: [] });
|
||||
|
||||
await page.setViewportSize({ width: 390, height: 844 });
|
||||
await page.goto("/recorder");
|
||||
await expect(page.getByTestId("recorder-title")).toBeVisible();
|
||||
|
||||
await page.getByTestId("recorder-start-camera-button").click();
|
||||
await expect(page.getByTestId("recorder-start-recording-button")).toBeVisible();
|
||||
|
||||
await page.getByTestId("recorder-start-recording-button").click();
|
||||
await expect(page.getByTestId("recorder-marker-button")).toBeVisible();
|
||||
|
||||
await page.getByTestId("recorder-marker-button").click();
|
||||
await expect(page.getByText("手动标记")).toBeVisible();
|
||||
|
||||
await page.getByTestId("recorder-finish-button").click();
|
||||
await expect(page.getByTestId("recorder-reset-button")).toBeVisible({ timeout: 8_000 });
|
||||
|
||||
await page.goto("/videos");
|
||||
await expect(page.getByTestId("video-card")).toHaveCount(1);
|
||||
await expect(page.getByText("E2E 录制")).toBeVisible();
|
||||
});
|
||||
在新工单中引用
屏蔽一个用户