From 20fc6c290805c29957cc3fc91b93df8d30ab1249 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 26 Apr 2026 14:09:31 +0900 Subject: [PATCH] test(angular-query-experimental/injectInfiniteQuery): add test for error state when 'queryFn' rejects (#10585) --- .../__tests__/inject-infinite-query.test.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/packages/angular-query-experimental/src/__tests__/inject-infinite-query.test.ts b/packages/angular-query-experimental/src/__tests__/inject-infinite-query.test.ts index e3c3744d56..f1f38acc7a 100644 --- a/packages/angular-query-experimental/src/__tests__/inject-infinite-query.test.ts +++ b/packages/angular-query-experimental/src/__tests__/inject-infinite-query.test.ts @@ -66,6 +66,44 @@ describe('injectInfiniteQuery', () => { ).toBeInTheDocument() }) + it('should reject and update signal', async () => { + const key = queryKey() + + @Component({ + template: ` +
status: {{ query.status() }}
+
pages: {{ query.data()?.pages?.join(', ') ?? 'none' }}
+
error: {{ query.error()?.message ?? 'none' }}
+
isError: {{ query.isError() }}
+
failureCount: {{ query.failureCount() }}
+ `, + }) + class Page { + readonly query = injectInfiniteQuery(() => ({ + retry: false, + queryKey: key, + queryFn: () => + sleep(10).then(() => Promise.reject(new Error('Some error'))), + initialPageParam: 0, + getNextPageParam: () => 12, + })) + } + + const rendered = await render(Page) + + expect(rendered.getByText('status: pending')).toBeInTheDocument() + expect(rendered.getByText('pages: none')).toBeInTheDocument() + + await vi.advanceTimersByTimeAsync(11) + rendered.fixture.detectChanges() + + expect(rendered.getByText('status: error')).toBeInTheDocument() + expect(rendered.getByText('pages: none')).toBeInTheDocument() + expect(rendered.getByText('error: Some error')).toBeInTheDocument() + expect(rendered.getByText('isError: true')).toBeInTheDocument() + expect(rendered.getByText('failureCount: 1')).toBeInTheDocument() + }) + describe('injection context', () => { it('should throw NG0203 with descriptive error outside injection context', () => { const key = queryKey()