|
@@ -41,17 +41,15 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- test.afterEach(async ({ regionManagementPage, page }) => {
|
|
|
|
|
|
|
+ test.afterEach(async ({ regionManagementPage }) => {
|
|
|
// 清理测试创建的数据
|
|
// 清理测试创建的数据
|
|
|
let cleanupSuccessCount = 0;
|
|
let cleanupSuccessCount = 0;
|
|
|
let cleanupFailCount = 0;
|
|
let cleanupFailCount = 0;
|
|
|
|
|
|
|
|
for (const provinceName of createdProvinces) {
|
|
for (const provinceName of createdProvinces) {
|
|
|
try {
|
|
try {
|
|
|
- // 尝试刷新页面并删除
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
- await page.waitForLoadState('domcontentloaded', { timeout: 10000 });
|
|
|
|
|
- await page.waitForTimeout(1000);
|
|
|
|
|
|
|
+ // 等待树形结构就绪后检查区域是否存在
|
|
|
|
|
+ await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
|
|
|
const exists = await regionManagementPage.regionExists(provinceName);
|
|
const exists = await regionManagementPage.regionExists(provinceName);
|
|
|
if (exists) {
|
|
if (exists) {
|
|
@@ -211,7 +209,7 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
test.describe('区域状态切换', () => {
|
|
test.describe('区域状态切换', () => {
|
|
|
- test('应该成功禁用已启用的区域', async ({ regionManagementPage, page }) => {
|
|
|
|
|
|
|
+ test('应该成功禁用已启用的区域', async ({ regionManagementPage }) => {
|
|
|
const provinceName = generateUniqueRegionName('测试省');
|
|
const provinceName = generateUniqueRegionName('测试省');
|
|
|
console.debug(`创建省份: ${provinceName}`);
|
|
console.debug(`创建省份: ${provinceName}`);
|
|
|
|
|
|
|
@@ -222,44 +220,29 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
createdProvinces.push(provinceName);
|
|
createdProvinces.push(provinceName);
|
|
|
|
|
|
|
|
- // 刷新页面以确保获取最新状态
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
|
|
+ // 等待树形结构加载完成
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
|
|
|
- // 等待新创建的区域在树中可见
|
|
|
|
|
- await page.waitForTimeout(1000);
|
|
|
|
|
|
|
+ // 验证区域存在并获取初始状态
|
|
|
const exists = await regionManagementPage.regionExists(provinceName);
|
|
const exists = await regionManagementPage.regionExists(provinceName);
|
|
|
- console.debug(`区域 "${provinceName}" 在树中存在: ${exists}`);
|
|
|
|
|
- if (!exists) {
|
|
|
|
|
- // 尝试滚动页面查找
|
|
|
|
|
- await page.mouse.wheel(0, 500);
|
|
|
|
|
- await page.waitForTimeout(500);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ expect(exists).toBe(true);
|
|
|
|
|
|
|
|
- // 获取初始状态
|
|
|
|
|
const initialStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
const initialStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
|
- console.debug(`区域 "${provinceName}" 初始状态: ${initialStatus}`);
|
|
|
|
|
expect(initialStatus).toBe('启用');
|
|
expect(initialStatus).toBe('启用');
|
|
|
|
|
|
|
|
// 禁用区域
|
|
// 禁用区域
|
|
|
const success = await regionManagementPage.toggleRegionStatus(provinceName);
|
|
const success = await regionManagementPage.toggleRegionStatus(provinceName);
|
|
|
- console.debug(`禁用操作返回: ${success}`);
|
|
|
|
|
expect(success).toBe(true);
|
|
expect(success).toBe(true);
|
|
|
|
|
|
|
|
- // 再次刷新页面以确保看到更新后的状态
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
|
|
+ // 等待树形结构刷新(toggleRegionStatus 内部已等待)
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
|
|
|
- // 等待新创建的区域在树中可见
|
|
|
|
|
- await page.waitForTimeout(1000);
|
|
|
|
|
-
|
|
|
|
|
// 验证状态已更新
|
|
// 验证状态已更新
|
|
|
const newStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
const newStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
|
- console.debug(`区域 "${provinceName}" 新状态: ${newStatus}`);
|
|
|
|
|
expect(newStatus).toBe('禁用');
|
|
expect(newStatus).toBe('禁用');
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- test('应该成功启用已禁用的区域', async ({ regionManagementPage, page }) => {
|
|
|
|
|
|
|
+ test('应该成功启用已禁用的区域', async ({ regionManagementPage }) => {
|
|
|
const provinceName = generateUniqueRegionName('测试省');
|
|
const provinceName = generateUniqueRegionName('测试省');
|
|
|
await regionManagementPage.createProvince({
|
|
await regionManagementPage.createProvince({
|
|
|
name: provinceName,
|
|
name: provinceName,
|
|
@@ -268,16 +251,11 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
createdProvinces.push(provinceName);
|
|
createdProvinces.push(provinceName);
|
|
|
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
- await page.waitForTimeout(1000);
|
|
|
|
|
|
|
|
|
|
// 先禁用
|
|
// 先禁用
|
|
|
await regionManagementPage.toggleRegionStatus(provinceName);
|
|
await regionManagementPage.toggleRegionStatus(provinceName);
|
|
|
-
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
- await page.waitForTimeout(1000);
|
|
|
|
|
|
|
|
|
|
// 验证已禁用
|
|
// 验证已禁用
|
|
|
const disabledStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
const disabledStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
@@ -287,16 +265,14 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
const success = await regionManagementPage.toggleRegionStatus(provinceName);
|
|
const success = await regionManagementPage.toggleRegionStatus(provinceName);
|
|
|
expect(success).toBe(true);
|
|
expect(success).toBe(true);
|
|
|
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
- await page.waitForTimeout(1000);
|
|
|
|
|
|
|
|
|
|
// 验证状态已恢复为启用
|
|
// 验证状态已恢复为启用
|
|
|
const status = await regionManagementPage.getRegionStatus(provinceName);
|
|
const status = await regionManagementPage.getRegionStatus(provinceName);
|
|
|
expect(status).toBe('启用');
|
|
expect(status).toBe('启用');
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- test('取消状态切换应保持原状态', async ({ regionManagementPage, page }) => {
|
|
|
|
|
|
|
+ test('取消状态切换应保持原状态', async ({ regionManagementPage }) => {
|
|
|
const provinceName = generateUniqueRegionName('测试省');
|
|
const provinceName = generateUniqueRegionName('测试省');
|
|
|
await regionManagementPage.createProvince({
|
|
await regionManagementPage.createProvince({
|
|
|
name: provinceName,
|
|
name: provinceName,
|
|
@@ -305,7 +281,6 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
createdProvinces.push(provinceName);
|
|
createdProvinces.push(provinceName);
|
|
|
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
|
|
|
const initialStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
const initialStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
@@ -315,10 +290,7 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
await regionManagementPage.openToggleStatusDialog(provinceName);
|
|
await regionManagementPage.openToggleStatusDialog(provinceName);
|
|
|
await regionManagementPage.cancelToggleStatus();
|
|
await regionManagementPage.cancelToggleStatus();
|
|
|
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
- await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
-
|
|
|
|
|
- // 验证状态未改变
|
|
|
|
|
|
|
+ // 验证状态未改变(不需要刷新页面)
|
|
|
const currentStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
const currentStatus = await regionManagementPage.getRegionStatus(provinceName);
|
|
|
expect(currentStatus).toBe(initialStatus);
|
|
expect(currentStatus).toBe(initialStatus);
|
|
|
});
|
|
});
|
|
@@ -487,7 +459,7 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
test.describe('连续编辑操作', () => {
|
|
test.describe('连续编辑操作', () => {
|
|
|
- test('应该能连续编辑多个区域', async ({ regionManagementPage, page }) => {
|
|
|
|
|
|
|
+ test('应该能连续编辑多个区域', async ({ regionManagementPage }) => {
|
|
|
// 创建多个省份
|
|
// 创建多个省份
|
|
|
const province1 = generateUniqueRegionName('测试省1');
|
|
const province1 = generateUniqueRegionName('测试省1');
|
|
|
const province2 = generateUniqueRegionName('测试省2');
|
|
const province2 = generateUniqueRegionName('测试省2');
|
|
@@ -499,7 +471,6 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
createdProvinces.push(province1);
|
|
createdProvinces.push(province1);
|
|
|
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
|
|
|
await regionManagementPage.createProvince({
|
|
await regionManagementPage.createProvince({
|
|
@@ -509,7 +480,6 @@ test.describe.serial('编辑区域测试', () => {
|
|
|
});
|
|
});
|
|
|
createdProvinces.push(province2);
|
|
createdProvinces.push(province2);
|
|
|
|
|
|
|
|
- await page.goto('/admin/areas');
|
|
|
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
await regionManagementPage.waitForTreeLoaded();
|
|
|
|
|
|
|
|
// 编辑第一个省份
|
|
// 编辑第一个省份
|