Files
vigilcare-clinical/vigilcare-dashboard/src/__tests__/SepsisBoardView.test.js
T

50 lines
1.3 KiB
JavaScript

import { describe, it, expect, vi } from 'vitest'
import { mount } from '@vue/test-utils'
import { createPinia, setActivePinia } from 'pinia'
import SepsisBoardView from '@/views/SepsisBoardView.vue'
const { mockPush } = vi.hoisted(() => ({
mockPush: vi.fn(),
}))
vi.mock('vue-router', () => ({
useRouter: () => ({ push: mockPush }),
}))
vi.mock('@/composables/usePolling', () => ({
usePolling: () => {},
}))
const bundles = [
{
id: 'b1',
encounterId: 'enc-1',
firstName: 'Alice',
lastName: 'A',
mrn: 'M1',
department: 'Icu',
roomBed: '101',
recognizedAt: '2026-06-23T12:00:00Z',
deadlineAt: '2026-06-23T15:00:00Z',
complianceStatus: 'IN_PROGRESS',
elements: [
{ id: 'e1', elementType: 'BloodCultures', status: 'Completed' },
{ id: 'e2', elementType: 'SerumLactate', status: 'Pending' },
],
},
]
vi.mock('@/api/sepsis', () => ({
fetchSepsisBundles: vi.fn(() => Promise.resolve({ items: bundles, totalCount: 1 })),
}))
describe('SepsisBoardView', () => {
it('rendersBundleBoardWithSummary', async () => {
setActivePinia(createPinia())
const wrapper = mount(SepsisBoardView)
await vi.waitFor(() => expect(wrapper.text()).toContain('Alice A'))
expect(wrapper.text()).toContain('Sepsis Bundle Board')
expect(wrapper.text()).toContain('Serum lactate')
})
})