skillhub/web/e2e/settings-pages.spec.ts
dongmucat 38ebb13133
feat(auth): 邮箱验证码重置密码与 SMTP 配置支持 (#273)
* feat(auth): add email-based password reset with SMTP config docs

* test(e2e): stabilize password reset flow

* test(e2e): isolate password reset rate limits

* test(ci): stabilize backend and register e2e

* docs(auth): sanitize smtp setup examples
2026-04-13 20:27:00 +08:00

35 lines
1.4 KiB
TypeScript

import { expect, test } from '@playwright/test'
import { setEnglishLocale } from './helpers/auth-fixtures'
import { registerSession } from './helpers/session'
test.describe('Settings Pages (Real API)', () => {
test.beforeEach(async ({ page }, testInfo) => {
await setEnglishLocale(page)
await registerSession(page, testInfo)
})
test('opens profile settings page', async ({ page }) => {
await page.goto('/settings/profile')
await expect(page.getByRole('heading', { name: 'Profile Settings' })).toBeVisible()
})
test('navigates to reset-password page from profile settings', async ({ page }) => {
await page.goto('/settings/profile')
await page.getByRole('button', { name: 'Reset Password' }).click()
await expect(page).toHaveURL('/reset-password')
await expect(page.getByRole('heading', { name: 'Reset Password' })).toBeVisible()
})
test('shows validation when current password is missing', async ({ page }) => {
await page.goto('/settings/security')
await expect(page.getByRole('heading', { name: 'Security Settings' })).toBeVisible()
await page.getByRole('button', { name: 'Update Password' }).click()
await expect(page.getByText('Please enter your current password')).toBeVisible()
})
test('opens notification settings page', async ({ page }) => {
await page.goto('/settings/notifications')
await expect(page.getByRole('heading', { name: 'Notification Settings' })).toBeVisible()
})
})