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

70 lines
2.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(interception.response?.statusCode).to.eq(200)
expect(loadTime).to.be.lessThan(2000, `接口响应耗时 ${loadTime}ms 超过2秒阈值`)
})
// 验证数据渲染完成且加载状态已清除
cy.get('[data-cy="records-table"]').should('be.visible')
cy.get('[data-cy="loading-spinner"]').should('not.exist')
})
})