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

99 lines
3.8 KiB
TypeScript
Executable File

import { describe, it, cy } from 'cypress'
describe('Bug Regression Tests', () => {
// 历史回归用例占位...
it('should pass existing regression tests', () => {
cy.log('Existing regression suite placeholder')
})
})
// @bug568 @regression
describe('Bug #568: 收费工作站-门诊日结排版修复', () => {
it('门诊日结页面应加载且排版清晰对齐', () => {
cy.login('doctor1', '123456')
cy.visit('/billing/outpatient-daily-settlement')
// 验证核心布局区域正常渲染
cy.get('[data-cy="settlement-summary"]').should('be.visible')
cy.get('[data-cy="settlement-table"]').should('be.visible')
cy.get('[data-cy="settlement-actions"]').should('be.visible')
// 验证统计卡片布局为弹性/网格结构,无重叠错位
cy.get('[data-cy="summary-card"]').should('have.length.at.least', 3)
cy.get('[data-cy="summary-card"]').first().invoke('css', 'display').should('match', /flex|grid|block/)
// 验证表格表头与数据列对齐,无横向溢出
cy.get('[data-cy="settlement-table"] .el-table__header-wrapper').should('be.visible')
cy.get('[data-cy="settlement-table"] .el-table__body-wrapper').should('be.visible')
cy.get('[data-cy="settlement-table"]').invoke('css', 'overflow-x').should('not.equal', 'scroll')
})
})
// @bug550 @regression
describe('Bug #550: 门诊医生站-检查申请项目选择交互优化', () => {
it('应解耦项目与检查方法勾选,且已选卡片支持展开收起与名称完整提示', () => {
cy.login('doctor1', '123456')
cy.visit('/outpatient/examination-apply')
// 验证基础交互
cy.get('[data-cy="category-tree"]').should('be.visible')
cy.get('[data-cy="item-list"]').should('be.visible')
cy.get('[data-cy="selected-card"]').should('be.visible')
})
})
// @bug562 @regression
describe('Bug #562: 门诊医生工作站-待写病历加载性能', () => {
it('待写病历列表应在2秒内完成加载并渲染', () => {
// 拦截待写病历接口,模拟真实网络请求
cy.intercept('GET', '/api/orders/pending*').as('getPendingOrders')
cy.login('doctor1', '123456')
cy.visit('/outpatient/doctor-workstation')
// 点击待写病历Tab
cy.get('[data-cy="tab-pending-records"]').click()
// 记录开始时间并等待接口响应
const startTime = Date.now()
cy.wait('@getPendingOrders', { timeout: 2000 }).then((interception) => {
const loadTime = Date.now() - startTime
expect(loadTime).to.be.lessThan(2000)
})
})
})
// @bug574 @regression
describe('Bug #574: 预约签到缴费成功后号源状态流转', () => {
it('缴费成功后 adm_schedule_slot.status 应更新为 3', () => {
cy.login('admin', '123456')
cy.visit('/outpatient/registration')
// 模拟选择已预约患者并执行签到缴费
cy.get('[data-cy="patient-search-input"]').type('测试患者')
cy.get('[data-cy="patient-search-btn"]').click()
cy.get('[data-cy="appointment-list"]').first().click()
cy.get('[data-cy="check-in-btn"]').click()
cy.get('[data-cy="pay-btn"]').click()
// 拦截缴费成功接口与号源状态更新接口
cy.intercept('POST', '/api/registration/checkin-pay').as('checkinPay')
cy.intercept('POST', '/api/schedule/slot/update-status').as('updateSlotStatus')
cy.get('[data-cy="confirm-pay-btn"]').click()
cy.wait('@checkinPay').then((interception) => {
expect(interception.response.statusCode).to.eq(200)
})
// 验证是否触发了号源状态更新请求且状态值为 3
cy.wait('@updateSlotStatus').then((interception) => {
expect(interception.request.body.status).to.eq(3)
expect(interception.response.statusCode).to.eq(200)
})
// 验证前端提示成功
cy.contains('签到缴费成功').should('be.visible')
})
})