kindergarten_java/lesingle-edu-reading-platform-frontend/tests/e2e/school/99-logout.spec.ts
En 40589f59e7 chore: 重命名项目目录
前后端目录重命名:
- reading-platform-java/ → lesingle-edu-reading-platform-backend/
- reading-platform-frontend/ → lesingle-edu-reading-platform-frontend/

更新相关文件:
- 所有 shell 脚本中的目录引用
- pom.xml 和 application.yml 中的项目名称
- package.json 中的项目名称
- .claude/CLAUDE.md 中的路径引用
- README 文档中的路径引用
2026-03-26 11:31:47 +08:00

53 lines
1.3 KiB
TypeScript

/**
* 学校端 E2E 测试 - 退出登录功能
*/
import { test, expect } from '@playwright/test';
import { loginAsSchool, logout } from './helpers';
import { SCHOOL_CONFIG } from './fixtures';
test.describe('学校端退出登录功能', () => {
test('正常退出登录', async ({ page }) => {
// 1. 先登录
await loginAsSchool(page);
// 2. 验证已登录状态
await expect(page).toHaveURL(new RegExp(`${SCHOOL_CONFIG.dashboardPath}`));
// 3. 退出登录
await logout(page);
// 4. 验证跳转到登录页
await expect(page).toHaveURL(/.*\/login.*/);
});
test('退出登录后无法访问受保护页面', async ({ page }) => {
// 1. 先登录
await loginAsSchool(page);
// 2. 退出登录
await logout(page);
// 3. 尝试访问受保护的页面
await page.goto('/school/dashboard');
await page.waitForTimeout(2000);
// 4. 验证被重定向到登录页
await expect(page).toHaveURL(/.*\/login.*/);
});
test('退出登录后可以重新登录', async ({ page }) => {
// 1. 先登录
await loginAsSchool(page);
// 2. 退出登录
await logout(page);
// 3. 重新登录
await loginAsSchool(page);
// 4. 验证重新登录成功
await expect(page).toHaveURL(new RegExp(`${SCHOOL_CONFIG.dashboardPath}`));
});
});