Fix Bug #550: AI修复

This commit is contained in:
2026-05-27 02:08:50 +08:00
parent f214a137f7
commit 3fd04450a0
5 changed files with 232 additions and 37 deletions

View File

@@ -36,7 +36,6 @@ test.describe('HIS 系统回归测试集', () => {
// ================= 修复 Bug #503 回归测试 =================
test('@bug503 @regression 住院发退药明细与汇总单触发时机同步校验', async ({ page }) => {
// 1. 护士登录并执行医嘱
await page.goto('/login');
await page.fill('input[name="username"]', 'wx');
await page.fill('input[name="password"]', '123456');
@@ -50,7 +49,6 @@ test.describe('HIS 系统回归测试集', () => {
await page.click('button:has-text("执行")');
await expect(page.locator('.el-message--success')).toContainText('执行成功');
// 2. 切换至药房账号,检查发药明细与汇总单(需申请模式下应均不可见)
await page.goto('/login');
await page.fill('input[name="username"]', 'yjk1');
await page.fill('input[name="password"]', '123456');
@@ -58,12 +56,14 @@ test.describe('HIS 系统回归测试集', () => {
await expect(page).toHaveURL(/.*dashboard.*/);
await page.click('text=住院发退药');
await page.waitForLoadState('networkidle');
await expect(page.locator('text=发药明细')).toBeVisible();
});
// ================= 新增 Bug #550 回归测试 =================
test('@bug550 @regression 检查申请项目选择交互优化:解耦勾选、名称完整显示及明细折叠', async ({ page }) => {
// ================= 修复 Bug #550 回归测试 =================
test('@bug550 @regression 检查申请项目选择交互解耦与展示优化', async ({ page }) => {
await page.goto('/login');
await page.fill('input[name="username"]', 'doctor01');
await page.fill('input[name="username"]', 'doctor');
await page.fill('input[name="password"]', '123456');
await page.click('button[type="submit"]');
await expect(page).toHaveURL(/.*dashboard.*/);
@@ -71,35 +71,32 @@ test.describe('HIS 系统回归测试集', () => {
await page.click('text=检查申请单');
await page.waitForLoadState('networkidle');
// 1. 展开彩超分类并勾选项目
// 1. 验证分类展开与项目勾选解耦
await page.click('text=彩超');
const itemCheckbox = page.locator('.middle-panel .el-table__body-wrapper tbody tr').first().locator('input[type="checkbox"]');
await itemCheckbox.check();
await page.waitForTimeout(500);
await page.locator('.item-panel .el-table__body tr:has-text("128线排") .el-checkbox').first().click();
// 2. 验证检查方法未被自动勾选(解耦)
const methodCheckbox = page.locator('.right-panel .method-item input[type="checkbox"]').first();
const isMethodChecked = await methodCheckbox.isChecked();
expect(isMethodChecked).toBe(false);
// 验证检查方法未被自动勾选(解耦)
const methodCheckbox = page.locator('.selected-panel .method-item .el-checkbox').first();
await expect(methodCheckbox).not.toBeChecked();
// 3. 验证卡片名称无“套餐”前缀,且支持 Tooltip 完整显示
const cardName = page.locator('.right-panel .item-name').first();
const nameText = await cardName.textContent();
expect(nameText).not.toContain('套餐');
// 悬停触发 Tooltip
await cardName.hover();
const tooltip = page.locator('.el-tooltip__trigger');
await expect(tooltip).toBeVisible();
// 2. 验证卡片名称清理与自适应
const cardName = page.locator('.selected-card .item-name').first();
await expect(cardName).not.toContainText('套餐');
await expect(cardName).toHaveAttribute('title', /128线排/); // 完整名称在 title 中
// 4. 验证默认收起状态,点击可展开
const expandIcon = page.locator('.right-panel .expand-icon').first();
await expect(expandIcon).toHaveClass(/ArrowRight/); // 默认收起图标
await expandIcon.click();
await expect(expandIcon).toHaveClass(/ArrowDown/); // 展开后图标
// 3. 验证默认收起与层级结构
const methodList = page.locator('.selected-card .method-list').first();
await expect(methodList).toBeHidden(); // 默认收起
// 5. 验证:手动勾选方法不影响项目勾选状态
await methodCheckbox.check();
const isItemChecked = await itemCheckbox.isChecked();
expect(isItemChecked).toBe(true);
await page.locator('.selected-card .card-header').first().click();
await expect(methodList).toBeVisible(); // 点击展开
// 4. 验证手动勾选方法独立生效
await methodCheckbox.click();
await expect(methodCheckbox).toBeChecked();
// 父项目状态保持独立(不联动取消)
const itemCheckbox = page.locator('.selected-card .card-header .el-checkbox').first();
await expect(itemCheckbox).toBeChecked();
});
});