import { describe, it, cy } from 'cypress' describe('HIS System Regression Tests', () => { it('should pass baseline health check', () => { cy.visit('/') cy.get('#app').should('be.visible') }) }) // ========================================== // Bug #550 回归测试用例 // ========================================== describe('Bug #550: 检查申请项目选择交互优化', { tags: ['@bug550', '@regression'] }, () => { it('应解耦项目与方法勾选,去除套餐前缀,且默认收起明细', () => { cy.visit('/outpatient/exam/apply') // 1. 验证联动解耦:勾选项目时,下方检查方法不应被自动勾选 cy.get('.item-row').contains('128线排').click() cy.get('.method-container .el-checkbox').should('not.have.class', 'is-checked') // 2. 验证卡片显示:去除“套餐”冗余字样,支持完整名称提示 cy.get('.collapse-title').should('not.contain', '套餐') cy.get('.collapse-title').trigger('mouseenter') cy.get('.el-tooltip__popper').should('be.visible') // 3. 验证默认状态:已选套餐面板默认收起,不直接展开明细 cy.get('.el-collapse-item__content').should('not.be.visible') // 4. 验证结构化展示:点击可展开查看明细,层级清晰(项目 > 检查方法) cy.get('.el-collapse-item__header').click() cy.get('.el-collapse-item__content').should('be.visible') cy.get('.method-row').should('have.length.greaterThan', 0) cy.get('.method-name').first().should('be.visible') }) }) // ========================================== // Bug #544 回归测试用例 // ========================================== describe('Bug #544: 智能分诊队列显示完诊状态及历史查询', { tags: ['@bug544', '@regression'] }, () => { it('应支持按日期范围查询,状态筛选包含完诊,且列表正常渲染', () => { cy.visit('/outpatient/triage/queue') // 1. 验证历史查询组件存在且布局正确 cy.get('.date-range-picker').should('be.visible') cy.get('.status-select').should('be.visible') cy.get('.history-query-btn').should('be.visible').and('contain', '历史队列查询') // 2. 验证状态筛选下拉包含“完诊”选项 cy.get('.status-select').click() cy.get('.el-select-dropdown__item').contains('完诊').should('be.visible') cy.get('body').click(0, 0) // 关闭下拉框 // 3. 验证默认日期已填充(当天) cy.get('.date-range-picker').invoke('val').should('not.be.empty') // 4. 触发查询,验证表格与分页正常加载 cy.get('.history-query-btn').click() cy.get('.queue-table').should('be.visible') cy.get('.el-table__body-wrapper').should('exist') }) }) // ========================================== // Bug #503 回归测试用例 // ========================================== describe('Bug #503: 住院发退药明细与汇总单数据触发时机同步', { tags: ['@bug503', '@regression'] }, () => { it('需申请模式下,执行医嘱后明细与汇总单均不显示,提交汇总申请后两者同步显示', () => { // 1. 登录护士站并执行医嘱(不触发汇总申请) cy.visit('/inpatient/nurse/order-execution') cy.get('[data-testid="execute-order-btn"]').first().click() cy.wait(500) // 2. 切换至药房界面,验证需申请模式下明细与汇总单均为空 cy.visit('/inpatient/pharmacy/dispensing') cy.get('[data-testid="dispensing-detail-list"]').should('be.empty') cy.get('[data-testid="dispensing-summary-list"]').should('be.empty') // 3. 返回护士站提交汇总发药申请 cy.visit('/inpatient/nurse/summary-apply') cy.get('[data-testid="select-all-orders"]').click() cy.get('[data-testid="apply-summary-btn"]').click() cy.wait(800) // 4. 再次进入药房界面,验证明细与汇总单同步出现且数据一致 cy.visit('/inpatient/pharmacy/dispensing') cy.get('[data-testid="dispensing-detail-list"]').should('not.be.empty') cy.get('[data-testid="dispensing-summary-list"]').should('not.be.empty') // 验证数量一致性(防脱节核心校验) cy.get('[data-testid="detail-total-count"]').invoke('text').then(detailCount => { cy.get('[data-testid="summary-total-count"]').invoke('text').should('eq', detailCount) }) }) })