register.spec.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { test, expect } from '../../utils/test-setup';
  2. test.describe('用户注册流程', () => {
  3. test.beforeEach(async ({ registerPage }) => {
  4. await registerPage.goto();
  5. });
  6. test('成功注册新用户', async ({ registerPage, dashboardPage }) => {
  7. const testUsername = `testuser_${Date.now()}`;
  8. const testPassword = 'Test123!@#';
  9. await registerPage.register(testUsername, testPassword);
  10. await dashboardPage.expectToBeVisible();
  11. });
  12. test('注册失败 - 用户名已存在', async ({ registerPage }) => {
  13. await registerPage.register('admin', 'Test123!@#');
  14. await registerPage.expectRegistrationError();
  15. });
  16. test('注册失败 - 密码不一致', async ({ registerPage }) => {
  17. await registerPage.register('newuser', 'password123', 'differentpassword');
  18. await expect(registerPage.confirmPasswordInput).toHaveClass(/border-destructive/);
  19. });
  20. test('表单验证 - 用户名太短', async ({ registerPage }) => {
  21. await registerPage.register('ab', 'Test123!@#');
  22. await expect(registerPage.usernameInput).toHaveClass(/border-destructive/);
  23. });
  24. test('表单验证 - 密码太短', async ({ registerPage }) => {
  25. await registerPage.register('newuser', 'short');
  26. await expect(registerPage.passwordInput).toHaveClass(/border-destructive/);
  27. });
  28. test('表单验证 - 无效用户名格式', async ({ registerPage }) => {
  29. await registerPage.register('invalid user!', 'Test123!@#');
  30. await expect(registerPage.usernameInput).toHaveClass(/border-destructive/);
  31. });
  32. test('导航到登录页面', async ({ registerPage, page }) => {
  33. await registerPage.navigateToLogin();
  34. await expect(page).toHaveURL('/login');
  35. });
  36. });