diff --git a/apps/behandel/src/app/werkbak/werkbak-page.spec.ts b/apps/behandel/src/app/werkbak/werkbak-page.spec.ts index 202953b..d704561 100644 --- a/apps/behandel/src/app/werkbak/werkbak-page.spec.ts +++ b/apps/behandel/src/app/werkbak/werkbak-page.spec.ts @@ -145,6 +145,30 @@ describe('WerkbakPage', () => { } }); + it('clears a load failure once a refresh succeeds', async () => { + // Without this the werkbak stays stuck on the error until the behandelaar reloads — the very + // thing this slice removes. A recovered read must put the rows back. + vi.useFakeTimers(); + try { + const getBehandelWerkbak = vi + .fn() + .mockReturnValueOnce(throwError(() => new Error('503'))) + .mockReturnValue(of(sample)); + const { providers } = setup({ getBehandelWerkbak }); + const { detectChanges } = await render(WerkbakPage, { providers }); + + expect(screen.getByText(/kon de werkbak niet laden/i)).toBeTruthy(); + + vi.advanceTimersByTime(WERKBAK_REFRESH_MS); + detectChanges(); + + expect(screen.queryByText(/kon de werkbak niet laden/i)).toBeNull(); + expect(screen.getByText('reg-1')).toBeTruthy(); + } finally { + vi.useRealTimers(); + } + }); + it('shows an empty state when the werkbak has no items', async () => { const { providers } = setup({ getBehandelWerkbak: vi.fn().mockReturnValue(of([])) }); await render(WerkbakPage, { providers });