Files
gym-manage/gym-manage-web/e2e/journeys/groupcourse-workflow.spec.ts
T

112 lines
3.7 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { GroupCourseManagementPage } from '../pages/GroupCourseManagementPage';
import { CourseTypeManagementPage } from '../pages/CourseTypeManagementPage';
import { CourseLabelManagementPage } from '../pages/CourseLabelManagementPage';
import { CourseRecommendManagementPage } from '../pages/CourseRecommendManagementPage';
test.describe('团课管理工作流', () => {
let coursePage: GroupCourseManagementPage;
test.beforeEach(async ({ page }) => {
coursePage = new GroupCourseManagementPage(page);
});
test('查看团课列表', async () => {
await test.step('导航到团课管理页面', async () => {
await coursePage.goto();
});
await test.step('验证表格加载', async () => {
await expect(coursePage.table).toBeVisible({ timeout: 10000 });
await coursePage.waitForTableReady();
const rowCount = await coursePage.getRowCount();
console.log(`团课列表包含 ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
test('搜索团课', async () => {
await test.step('导航到团课管理页面', async () => {
await coursePage.goto();
});
await test.step('执行搜索', async () => {
await coursePage.waitForTableReady();
await coursePage.search('瑜伽');
await coursePage.page.waitForTimeout(500);
});
await test.step('验证搜索结果', async () => {
const rowCount = await coursePage.getRowCount();
console.log(`搜索结果: ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
});
test.describe('团课类型管理工作流', () => {
let typePage: CourseTypeManagementPage;
test.beforeEach(async ({ page }) => {
typePage = new CourseTypeManagementPage(page);
});
test('查看团课类型列表', async () => {
await test.step('导航到团课类型页面', async () => {
await typePage.goto();
});
await test.step('验证表格加载', async () => {
await expect(typePage.table).toBeVisible({ timeout: 10000 });
await typePage.waitForTableReady();
const rowCount = await typePage.getRowCount();
console.log(`团课类型列表包含 ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
});
test.describe('团课标签管理工作流', () => {
let labelPage: CourseLabelManagementPage;
test.beforeEach(async ({ page }) => {
labelPage = new CourseLabelManagementPage(page);
});
test('查看团课标签列表', async () => {
await test.step('导航到团课标签页面', async () => {
await labelPage.goto();
});
await test.step('验证表格加载', async () => {
await expect(labelPage.table).toBeVisible({ timeout: 10000 });
await labelPage.waitForTableReady();
const rowCount = await labelPage.getRowCount();
console.log(`团课标签列表包含 ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
});
test.describe('团课推荐管理工作流', () => {
let recPage: CourseRecommendManagementPage;
test.beforeEach(async ({ page }) => {
recPage = new CourseRecommendManagementPage(page);
});
test('查看团课推荐列表', async () => {
await test.step('导航到团课推荐页面', async () => {
await recPage.goto();
});
await test.step('验证表格加载', async () => {
await expect(recPage.table).toBeVisible({ timeout: 10000 });
await recPage.waitForTableReady();
const rowCount = await recPage.getRowCount();
console.log(`团课推荐列表包含 ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
});