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

66 lines
2.1 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { MemberManagementPage } from '../pages/MemberManagementPage';
import { MemberCardManagementPage } from '../pages/MemberCardManagementPage';
test.describe('会员管理工作流', () => {
let memberPage: MemberManagementPage;
test.beforeEach(async ({ page }) => {
memberPage = new MemberManagementPage(page);
});
test('查看会员列表', async () => {
await test.step('导航到会员管理页面', async () => {
await memberPage.goto();
});
await test.step('验证表格加载', async () => {
await expect(memberPage.table).toBeVisible({ timeout: 10000 });
await memberPage.waitForTableReady();
const rowCount = await memberPage.getRowCount();
console.log(`会员列表包含 ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
test('搜索会员', async () => {
await test.step('导航到会员管理页面', async () => {
await memberPage.goto();
});
await test.step('执行搜索', async () => {
await memberPage.waitForTableReady();
await memberPage.search('test');
await memberPage.page.waitForTimeout(500);
});
await test.step('验证搜索结果', async () => {
const rowCount = await memberPage.getRowCount();
console.log(`搜索结果: ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
});
test.describe('会员卡管理工作流', () => {
let cardPage: MemberCardManagementPage;
test.beforeEach(async ({ page }) => {
cardPage = new MemberCardManagementPage(page);
});
test('查看会员卡列表', async () => {
await test.step('导航到会员卡管理页面', async () => {
await cardPage.goto();
});
await test.step('验证表格加载', async () => {
await expect(cardPage.table).toBeVisible({ timeout: 10000 });
await cardPage.waitForTableReady();
const rowCount = await cardPage.getRowCount();
console.log(`会员卡列表包含 ${rowCount} 条记录`);
expect(rowCount).toBeGreaterThanOrEqual(0);
});
});
});