Files
his/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts
2026-05-27 05:08:43 +08:00

39 lines
1.6 KiB
TypeScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { test, expect } from '@playwright/test';
/**
* @bug505 @regression
* 验证 Bug #505已发药医嘱不可直接退回
*/
test.describe('Bug #505 Regression: 已发药医嘱退回拦截', () => {
test('护士端尝试退回已发药医嘱时应被拦截并提示', async ({ page }) => {
// 1. 护士登录
await page.goto('/login');
await page.fill('input[name="username"]', 'wx');
await page.fill('input[name="password"]', '123456');
await page.click('button[type="submit"]');
await page.waitForURL(/\/nurse/);
// 2. 进入医嘱校对 -> 已校对页签
await page.goto('/nurse/order-verify');
await page.click('text=已校对');
await page.waitForTimeout(1000); // 等待数据加载
// 3. 模拟勾选一条状态为“已发药”的医嘱(假设列表中存在)
// 实际测试中可通过 API 预置数据或根据 UI 状态筛选
const dispensedRow = page.locator('tr:has-text("已发药")').first();
await dispensedRow.locator('input[type="checkbox"]').check();
// 4. 点击退回按钮
const returnBtn = page.locator('button:has-text("退回")');
await returnBtn.click();
// 5. 验证系统拦截提示
const errorMsg = page.locator('.el-message--error, .el-notification__content');
await expect(errorMsg).toContainText('该药品已由药房发放,请先执行退药处理,不可直接退回');
// 6. 验证医嘱未流转至“已退回”页签
await page.click('text=已退回');
await expect(page.locator('tr:has-text("头孢哌酮钠舒巴坦钠")')).toHaveCount(0);
});
});