diff --git a/src/lib/sovd-api.test.ts b/src/lib/sovd-api.test.ts index f97e1d7..3bf9077 100644 --- a/src/lib/sovd-api.test.ts +++ b/src/lib/sovd-api.test.ts @@ -119,6 +119,16 @@ describe('SovdApiClient', () => { expect(result.items[0]?.status).toBe('healed'); }); + it('maps PREFAILED API status to pending', async () => { + vi.mocked(fetch).mockResolvedValue({ + ok: true, + json: () => Promise.resolve({ items: [makeFaultItem({ status: 'PREFAILED' })] }), + } as Response); + + const result = await client.listAllFaults('all'); + expect(result.items[0]?.status).toBe('pending'); + }); + it('maps CONFIRMED API status to active', async () => { vi.mocked(fetch).mockResolvedValue({ ok: true, diff --git a/src/lib/sovd-api.ts b/src/lib/sovd-api.ts index 2248726..db880fe 100644 --- a/src/lib/sovd-api.ts +++ b/src/lib/sovd-api.ts @@ -1557,7 +1557,7 @@ export class SovdApiClient { const apiStatus = apiFault.status?.toLowerCase() || ''; if (apiStatus === 'confirmed' || apiStatus === 'active') { status = 'active'; - } else if (apiStatus === 'pending') { + } else if (apiStatus === 'pending' || apiStatus === 'prefailed') { status = 'pending'; } else if (apiStatus === 'cleared' || apiStatus === 'resolved') { status = 'cleared';