|
|
@@ -277,16 +277,24 @@ test.describe('公司创建功能', () => {
|
|
|
await companyManagementPage.openCreateDialog();
|
|
|
await companyManagementPage.companyNameInput.fill(companyName);
|
|
|
|
|
|
- // 点击对话框外部区域(使用 backdrop)
|
|
|
- const backdrop = companyManagementPage.page.locator('[data-radix-toast-swipe-end]');
|
|
|
- if (await backdrop.count() > 0) {
|
|
|
- await backdrop.click();
|
|
|
+ // 点击对话框外部区域(使用 Radix UI Dialog overlay)
|
|
|
+ // Radix Dialog 使用 data-radix-dialog-overlay 或 [data-state="open"] 作为 backdrop
|
|
|
+ const backdrop = companyManagementPage.page.locator('[data-radix-dialog-overlay]').or(
|
|
|
+ companyManagementPage.page.locator('[data-state="open"][role="presentation"]')
|
|
|
+ );
|
|
|
+
|
|
|
+ // 验证 backdrop 存在
|
|
|
+ const backdropCount = await backdrop.count();
|
|
|
+ if (backdropCount > 0) {
|
|
|
+ // 点击 backdrop 关闭对话框
|
|
|
+ await backdrop.first().click();
|
|
|
+ await companyManagementPage.waitForDialogClosed();
|
|
|
+ } else {
|
|
|
+ // 如果找不到 backdrop(某些浏览器行为),使用 ESC 键作为备选
|
|
|
+ await companyManagementPage.page.keyboard.press('Escape');
|
|
|
+ await companyManagementPage.waitForDialogClosed();
|
|
|
}
|
|
|
|
|
|
- // 或者按 ESC 键作为备选方案
|
|
|
- await companyManagementPage.page.keyboard.press('Escape');
|
|
|
- await companyManagementPage.waitForDialogClosed();
|
|
|
-
|
|
|
// 验证公司没有出现在列表中
|
|
|
const exists = await companyManagementPage.companyExists(companyName);
|
|
|
expect(exists).toBe(false);
|
|
|
@@ -389,6 +397,11 @@ test.describe('公司创建功能', () => {
|
|
|
expect(result.hasError || !result.success).toBe(true);
|
|
|
}
|
|
|
|
|
|
+ // 验证列表中只有一个同名公司(没有重复创建)
|
|
|
+ const companyRow = companyManagementPage.companyTable.locator('tbody tr').filter({ hasText: companyName });
|
|
|
+ const count = await companyRow.count();
|
|
|
+ expect(count).toBe(1);
|
|
|
+
|
|
|
// 清理
|
|
|
await companyManagementPage.deleteCompany(companyName);
|
|
|
await platformManagementPage.goto();
|