import { test, expect } from '../../utils/test-setup'; test.describe('用户注册流程', () => { test.beforeEach(async ({ registerPage }) => { await registerPage.goto(); }); test('成功注册新用户', async ({ registerPage, dashboardPage }) => { const testUsername = `testuser_${Date.now()}`; const testPassword = 'Test123!@#'; await registerPage.register(testUsername, testPassword); await dashboardPage.expectToBeVisible(); }); test('注册失败 - 用户名已存在', async ({ registerPage }) => { await registerPage.register('admin', 'Test123!@#'); await registerPage.expectRegistrationError(); }); test('注册失败 - 密码不一致', async ({ registerPage }) => { await registerPage.register('newuser', 'password123', 'differentpassword'); await expect(registerPage.confirmPasswordInput).toHaveClass(/border-destructive/); }); test('表单验证 - 用户名太短', async ({ registerPage }) => { await registerPage.register('ab', 'Test123!@#'); await expect(registerPage.usernameInput).toHaveClass(/border-destructive/); }); test('表单验证 - 密码太短', async ({ registerPage }) => { await registerPage.register('newuser', 'short'); await expect(registerPage.passwordInput).toHaveClass(/border-destructive/); }); test('表单验证 - 无效用户名格式', async ({ registerPage }) => { await registerPage.register('invalid user!', 'Test123!@#'); await expect(registerPage.usernameInput).toHaveClass(/border-destructive/); }); test('导航到登录页面', async ({ registerPage, page }) => { await registerPage.navigateToLogin(); await expect(page).toHaveURL('/login'); }); });