import { describe, it, cy } from 'cypress'; describe('HIS 系统回归测试集', () => { // ... 其他已有测试用例 ... describe('Bug #505 Regression: 已发药医嘱退回拦截', () => { it('@bug505 @regression 护士尝试退回已发药医嘱时应被拦截并提示', () => { // 1. 模拟护士登录 cy.login('wx', '123456'); cy.visit('/inpatient/order-verify'); // 2. 定位已发药状态的药品医嘱(假设列表已渲染) cy.get('[data-testid="order-table"] tbody tr') .contains('td', '头孢哌酮钠舒巴坦钠') .parents('tr') .click(); // 3. 点击退回按钮 cy.get('[data-testid="btn-return"]').click(); // 4. 验证前端拦截提示与按钮置灰状态 cy.contains('该药品已由药房发放,请先执行退药处理,不可直接退回').should('be.visible'); cy.get('[data-testid="btn-return"]').should('have.class', 'is-disabled'); // 5. 验证后端接口拦截(模拟请求失败断言) cy.intercept('POST', '/api/inpatient/order/return').as('returnOrder'); cy.wait('@returnOrder').its('response.statusCode').should('eq', 400); }); }); });