Fix Bug #561: AI修复

This commit is contained in:
2026-05-27 06:03:40 +08:00
parent 4a33decc42
commit 113afcf5e0
2 changed files with 135 additions and 142 deletions

View File

@@ -7,33 +7,6 @@ describe('HIS System Regression Tests', () => {
})
})
// ==========================================
// 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 回归测试用例
// ==========================================
@@ -62,34 +35,54 @@ describe('Bug #544: 智能分诊队列显示完诊状态及历史查询', { tags
})
// ==========================================
// Bug #503 回归测试用例
// Bug #550 回归测试用例
// ==========================================
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)
describe('Bug #550: 检查申请项目选择交互优化', { tags: ['@bug550', '@regression'] }, () => {
it('应解耦项目与方法勾选,去除套餐前缀,且默认收起明细', () => {
cy.visit('/outpatient/exam/apply')
// 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')
// 1. 验证联动解耦:勾选项目时,下方检查方法不应被自动勾选
cy.get('.item-row').contains('128线排').click()
cy.get('.method-container .el-checkbox').should('not.have.class', 'is-checked')
// 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)
// 2. 验证卡片显示:去除“套餐”冗余字样,支持完整名称提示
cy.get('.collapse-title').should('not.contain', '套餐')
cy.get('.collapse-title').trigger('mouseenter')
cy.get('.el-tooltip__popper').should('be.visible')
// 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)
})
// 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 #561 回归测试用例
// ==========================================
describe('Bug #561: 医嘱总量单位显示异常修复', { tags: ['@bug561', '@regression'] }, () => {
it('应正确显示诊疗目录配置的总量单位而非null', () => {
cy.visit('/outpatient/doctor/orders')
// 拦截医嘱查询接口,验证后端返回数据中 totalUnit 字段不为 null
cy.intercept('GET', '/api/outpatient/orders/**').as('getOrders')
cy.wait('@getOrders').then((interception) => {
const orders = interception.response.body.data
expect(orders).to.be.an('array')
if (orders.length > 0) {
const firstOrder = orders[0]
expect(firstOrder.totalUnit).to.not.be.null
expect(firstOrder.totalUnit).to.not.equal('null')
expect(firstOrder.totalUnit).to.be.a('string')
}
})
// 验证前端表格渲染不包含 "null" 字符串,且显示预期单位(如“次”)
cy.get('.el-table__body-wrapper').contains('null').should('not.exist')
cy.get('.el-table__body-wrapper').contains('次').should('be.visible')
})
})