43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { LoginPage } from '../pages/LoginPage';
|
|
import { TEST_USERS, TEST_URLS } from '../utils/test-data';
|
|
|
|
test.describe('💊 手术计费模块', () => {
|
|
let loginPage: LoginPage;
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
loginPage = new LoginPage(page);
|
|
await loginPage.goto();
|
|
await loginPage.login(TEST_USERS.admin.username, TEST_USERS.admin.password);
|
|
await loginPage.expectLoginSuccess();
|
|
});
|
|
|
|
test('#437 快速连续点击防重复 @bug437 @smoke', async ({ page }) => {
|
|
await page.goto(TEST_URLS.surgeryBilling);
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
const genBtn = page.locator('button:has-text("生成"), button:has-text("新增")');
|
|
if (await genBtn.isVisible()) {
|
|
for (let i = 0; i < 5; i++) {
|
|
await genBtn.click().catch(() => {});
|
|
}
|
|
await page.waitForTimeout(3000);
|
|
|
|
const count = await page.locator('.el-dialog, .el-message-box').count();
|
|
expect(count).toBeLessThanOrEqual(1);
|
|
}
|
|
});
|
|
|
|
test('#443 签发耗材不报库房错误 @bug443 @smoke', async ({ page }) => {
|
|
await page.goto(TEST_URLS.surgeryBilling);
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
const signBtn = page.locator('button:has-text("签发"), button:has-text("提交")');
|
|
if (await signBtn.isVisible()) {
|
|
await signBtn.click();
|
|
await page.waitForTimeout(2000);
|
|
await expect(page.locator('text=发放库房为空')).toHaveCount(0, { timeout: 5000 });
|
|
}
|
|
});
|
|
});
|