89 lines
3.8 KiB
TypeScript
Executable File
89 lines
3.8 KiB
TypeScript
Executable File
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 #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 #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 #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')
|
|
})
|
|
})
|