Files
hms/apps/web/src/pages/health/AlertRuleList.test.tsx
iven ced1c0ad0c fix(web): 清零前端 TS 构建错误 — 31 文件类型修复 + 面包屑 + 超时配置
- 修复 verbatimModuleSyntax 要求的 import type 声明
- 修复未使用导入(Badge/EditOutlined/Space/Input/Switch 等)
- 修复 mock.calls 类型注解([string,unknown] → any[])
- 修复 vitest 全局超时和 poolTimeout 配置
- 修复 PageContainer 缺少 onBack prop、MenuInfo children 可选
- 修复 CopilotAlert Badge status info→processing、useCopilotRisk 二次解包
- 修复 articles/doctors 测试 delete 调用缺少 version 参数
- 添加排班管理/预约管理面包屑标题 fallback
2026-05-15 23:03:08 +08:00

41 lines
1.3 KiB
TypeScript

import { describe, it, expect, vi } from 'vitest';
import { waitFor } from '@testing-library/react';
import { createListPageTests } from '../../test/factories/listPageTests';
import { createFixtureList, createAlertRuleFixture } from '../../test/fixtures';
import { renderWithProviders } from '../../test/utils/renderWithProviders';
import AlertRuleList from './AlertRuleList';
// Mock useThemeMode
vi.mock('../../hooks/useThemeMode', () => ({
useThemeMode: () => false,
}));
const mockRules = createFixtureList(createAlertRuleFixture, 5, [
{ id: 'rule-1', name: '血压偏高告警' },
{ id: 'rule-2', name: '心率异常告警' },
]);
createListPageTests({
Component: AlertRuleList,
apiPath: '/api/v1/health/alert-rules',
columns: ['规则名称', '指标类型', '条件类型', '严重程度'],
firstRowTexts: ['血压偏高告警'],
totalItems: 5,
hasCreateButton: true,
createButtonText: '新建规则',
hasSearch: false,
hasPagination: false,
mockItems: mockRules as Record<string, unknown>[],
});
describe('AlertRuleList extra tests', () => {
it('renders severity tags in the table', async () => {
vi.setConfig({ testTimeout: 15000 });
renderWithProviders(<AlertRuleList />);
await waitFor(() => {
const tags = document.querySelectorAll('.ant-tag');
expect(tags.length).toBeGreaterThan(0);
});
});
});