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

72 lines
3.5 KiB
TypeScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { describe, it, expect } from 'vitest';
import { mount } from '@vue/test-utils';
// 假设项目使用 Cypress 或 Vitest此处以标准 E2E 断言结构编写
// @bug550 @regression
describe('Bug #550 Regression: 检查申请项目选择交互优化', () => {
it('应解耦项目与检查方法勾选,卡片宽度自适应且默认收起明细', () => {
// 1. 模拟进入门诊医生站检查申请页
cy.visit('/outpatient/doctor/examination');
// 2. 展开彩超分类并勾选项目
cy.get('.category-tree').contains('彩超').click();
cy.get('.item-list').contains('128线排套餐').click();
// 验证:检查方法未被自动勾选(解耦)
cy.get('.method-checkbox-group input').should('not.be.checked');
// 3. 验证已选卡片显示
cy.get('.selected-card').should('exist');
cy.get('.selected-card .item-name').should('contain', '128线排').and('not.contain', '套餐');
// 验证宽度自适应(非固定宽度导致截断)
cy.get('.selected-card').should('have.css', 'width').and('match', /auto|100%/);
// 4. 验证明细默认收起,且无冗余标签
cy.get('.selected-card .details-section').should('not.be.visible');
cy.get('.selected-card').should('not.contain', '项目套餐明细');
// 5. 验证点击可展开/收起,且层级为 项目 > 检查方法
cy.get('.selected-card .card-header').click();
cy.get('.selected-card .details-section').should('be.visible');
cy.get('.selected-card .details-section .method-item').should('exist');
cy.get('.selected-card .details-section').should('contain', '检查方法');
});
});
// @bug566 @regression
describe('Bug #566 Regression: 体温单体征数据录入后图表与表格同步渲染', () => {
it('录入体征数据保存后,图表区应自动绘制对应符号与连线,表格区同步显示数值', () => {
cy.visit('/inpatient/nurse/temperature-sheet');
cy.get('.patient-selector').click();
cy.contains('123').click();
cy.get('.add-vital-sign-btn').click();
cy.get('.dialog-form input[name="measureTime"]').type('2026-05-20 06:00');
cy.get('.dialog-form input[name="temperature"]').type('38.6');
cy.get('.dialog-form input[name="heartRate"]').type('89');
cy.get('.dialog-form input[name="pulse"]').type('45');
cy.get('.dialog-footer .el-button--primary').click();
// 验证图表渲染与自动刷新
cy.get('.chart-container').should('be.visible');
cy.get('.chart-container').within(() => {
cy.get('svg path').should('exist');
cy.contains('38.6').should('exist');
});
// 验证表格同步
cy.get('.data-table').contains('06:00').siblings().should('contain', '38.6');
cy.get('.data-table').contains('06:00').siblings().should('contain', '89');
cy.get('.data-table').contains('06:00').siblings().should('contain', '45');
});
});
// @bug561 @regression
describe('Bug #561 Regression: 医嘱录入后总量单位应正确显示诊疗目录配置值', () => {
it('开立手术申请单后,医嘱列表中的总量单位不应显示为 null', () => {
cy.visit('/outpatient/doctor/order');
cy.get('.order-table').should('be.visible');
// 验证总量字段不包含 'null' 字符串,且符合 数字+单位 的渲染格式
cy.get('.total-quantity-cell').first().should('exist').and('not.contain', 'null');
cy.get('.total-quantity-cell').first().invoke('text').should('match', /^\d+\s*\S+$/);
});
});