From 1bee98b195520ad7a8a05aabe080bfc1beba3205 Mon Sep 17 00:00:00 2001 From: zichun Date: Fri, 15 May 2026 18:08:20 +0800 Subject: [PATCH] test(frontend): Playwright E2E users 三场景 (fixme 留待手工验收) --- frontend/tests/e2e/users.spec.ts | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+), 0 deletions(-) create mode 100644 frontend/tests/e2e/users.spec.ts diff --git a/frontend/tests/e2e/users.spec.ts b/frontend/tests/e2e/users.spec.ts new file mode 100644 index 0000000..9cc8945 --- /dev/null +++ b/frontend/tests/e2e/users.spec.ts @@ -0,0 +1,39 @@ +import { test, expect } from '@playwright/test'; + +/** + * E2E 测试需要: + * - 后端运行在 :9090(cd backend && mvn spring-boot:run) + * - 前端 dev server :5173 由 playwright.config webServer 自动起 + * - `npx playwright install chromium` + * - 后端 sys_user 表至少含 admin (SUPER_ADMIN) + alice 两个用户(seeder 或手工 seed) + * + * 本 plan Task 9 当前 .fixme(),FE 完成 review 时纳入手工验收; + * 由开发者手动 unfix + 启 backend + 跑 `npm run e2e`。 + */ + +test.fixme('listUsers_rendersAtLeastSeededUsers', async ({ page }) => { + await page.goto('/login'); + await page.getByPlaceholder('请输入你的用户名').fill('admin'); + await page.getByPlaceholder('请输入你的密码').fill('Password1!'); + await page.getByTestId('login-submit').click(); + + await expect(page).toHaveURL(/.*\/users/); + await expect(page.getByText('alice')).toBeVisible(); + await expect(page.getByText('admin')).toBeVisible(); +}); + +test.fixme('createUser_returnsToListAndShowsNewUser', async ({ page }) => { + await page.goto('/users/new'); + await page.getByLabel('用户名').fill('e2e_newbie'); + await page.getByLabel('用户号').fill('UE2E1'); + await page.getByTestId('form-save').click(); + await expect(page).toHaveURL(/.*\/users$/); + await expect(page.getByText('e2e_newbie')).toBeVisible(); +}); + +test.fixme('editUser_updatesUserCodeSuccessfully', async ({ page }) => { + await page.goto('/users/1'); + await page.getByLabel('用户号').fill('U_E2E_NEW'); + await page.getByTestId('form-save').click(); + await expect(page).toHaveURL(/.*\/users$/); +}); -- libgit2 0.22.2