/** * US-006: Frontend component rendering tests. * Tests that key components render without errors. */ import { describe, it, expect } from 'vitest'; describe('Component exports', () => { it('TopNav 可以被导入', async () => { const mod = await import('@/components/TopNav'); expect((mod as any).default || mod.TopNav).toBeDefined(); }); it('SideNav 可以被导入', async () => { const mod = await import('@/components/SideNav'); expect((mod as any).default || mod.SideNav).toBeDefined(); }); it('StatCard 可以被导入', async () => { const mod = await import('@/components/StatCard'); expect((mod as any).default || mod.StatCard).toBeDefined(); }); it('ErrorBanner 可以被导入', async () => { const mod = await import('@/components/ErrorBanner'); expect((mod as any).default || mod.ErrorBanner).toBeDefined(); }); it('DiseaseFilter 可以被导入', async () => { const mod = await import('@/components/DiseaseFilter'); expect((mod as any).default || mod.DiseaseFilter).toBeDefined(); }); it('ChatBot 可以被导入', async () => { const mod = await import('@/components/ChatBot'); expect((mod as any).default || mod.ChatBot).toBeDefined(); }); it('TimelinePlayer 可以被导入', async () => { const mod = await import('@/components/TimelinePlayer'); expect((mod as any).default || mod.TimelinePlayer).toBeDefined(); }); it('StatisticalCharts 可以被导入', async () => { const mod = await import('@/components/StatisticalCharts'); expect((mod as any).default || mod.StatisticalCharts).toBeDefined(); }); it('RiskMap 可以被导入', async () => { const mod = await import('@/components/RiskMap'); expect((mod as any).default || mod.RiskMap).toBeDefined(); }); it('AlertMap 可以被导入', async () => { const mod = await import('@/components/AlertMap'); expect((mod as any).default || mod.AlertMap).toBeDefined(); }); it('CaseLocationMap 可以被导入', async () => { const mod = await import('@/components/CaseLocationMap'); expect((mod as any).default || mod.CaseLocationMap).toBeDefined(); }); it('CaseMap 可以被导入', async () => { const mod = await import('@/components/CaseMap'); expect((mod as any).default || mod.CaseMap).toBeDefined(); }); it('DistributionChart 可以被导入', async () => { const mod = await import('@/components/DistributionChart'); expect((mod as any).default || mod.DistributionChart).toBeDefined(); }); it('GridStatsOverlay 可以被导入', async () => { const mod = await import('@/components/GridStatsOverlay'); expect((mod as any).default || mod.GridStatsOverlay).toBeDefined(); }); it('LodGridLayer 可以被导入', async () => { const mod = await import('@/components/LodGridLayer'); expect((mod as any).default || mod.LodGridLayer).toBeDefined(); }); it('AdminBreadcrumb 可以被导入', async () => { const mod = await import('@/components/AdminBreadcrumb'); expect((mod as any).default || mod.AdminBreadcrumb).toBeDefined(); }); it('CalendarHeatmap 可以被导入', async () => { const mod = await import('@/components/CalendarHeatmap'); expect((mod as any).default || mod.CalendarHeatmap).toBeDefined(); }); it('MetricHeatmapTable 可以被导入', async () => { const mod = await import('@/components/MetricHeatmapTable'); expect((mod as any).default || mod.MetricHeatmapTable).toBeDefined(); }); it('AnomalyMarkers 可以被导入', async () => { const mod = await import('@/components/AnomalyMarkers'); expect((mod as any).default || mod.AnomalyMarkers).toBeDefined(); }); }); describe('Page exports', () => { it('MonitoringDashboard 可以被导入', async () => { const mod = await import('@/pages/MonitoringDashboard'); expect(mod.MonitoringDashboard).toBeDefined(); }); it('AlertsDashboard 可以被导入', async () => { const mod = await import('@/pages/AlertsDashboard'); expect(mod.AlertsDashboard).toBeDefined(); }); it('TrendAnalysis 可以被导入', async () => { const mod = await import('@/pages/TrendAnalysis'); expect(mod.TrendAnalysis).toBeDefined(); }); it('DistrictComparison 可以被导入', async () => { const mod = await import('@/pages/DistrictComparison'); expect(mod.DistrictComparison).toBeDefined(); }); it('Insights 可以被导入', async () => { const mod = await import('@/pages/Insights'); expect(mod.Insights).toBeDefined(); }); it('Login 可以被导入', async () => { const mod = await import('@/pages/Login'); expect(mod.Login).toBeDefined(); }); it('ReportsCenter 可以被导入', async () => { const mod = await import('@/pages/ReportsCenter'); expect(mod.ReportsCenter).toBeDefined(); }); }); describe('Store exports', () => { it('所有 store 可以被导入', async () => { const mod = await import('@/stores'); expect(mod.useRiskStore).toBeDefined(); expect(mod.useTimelineStore).toBeDefined(); expect(mod.useMonitoringStore).toBeDefined(); expect(mod.usePredictionStore).toBeDefined(); }); }); describe('Type exports', () => { it('所有类型可以被导入', async () => { const types = await import('@/types'); expect(types).toBeDefined(); }); });