From d0b5051dd7366bfb4e5d8a484552c747415968b9 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Thu, 23 Apr 2026 15:08:06 +0900 Subject: [PATCH] test(angular-query-experimental/injectQueries): switch 'isRestoring' test to '@Component' + 'render' pattern --- .../src/__tests__/inject-queries.test.ts | 48 ++++++++++++------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/packages/angular-query-experimental/src/__tests__/inject-queries.test.ts b/packages/angular-query-experimental/src/__tests__/inject-queries.test.ts index 71fc4ad758..e7a3a842c3 100644 --- a/packages/angular-query-experimental/src/__tests__/inject-queries.test.ts +++ b/packages/angular-query-experimental/src/__tests__/inject-queries.test.ts @@ -147,32 +147,48 @@ describe('injectQueries', () => { providers: [provideIsRestoring(signal(true).asReadonly())], }) - const queries = TestBed.runInInjectionContext(() => - injectQueries(() => ({ + @Component({ + template: ` +
+ status1: {{ queries()[0].status() }}, fetchStatus1: + {{ queries()[0].fetchStatus() }} +
+
+ status2: {{ queries()[1].status() }}, fetchStatus2: + {{ queries()[1].fetchStatus() }} +
+ `, + }) + class Page { + queries = injectQueries(() => ({ queries: [ { queryKey: key1, queryFn: queryFn1 }, { queryKey: key2, queryFn: queryFn2 }, ], - })), - ) + })) + } + + const rendered = await render(Page) await vi.advanceTimersByTimeAsync(0) - expect(queries()[0].status()).toBe('pending') - expect(queries()[0].fetchStatus()).toBe('idle') - expect(queries()[0].data()).toBeUndefined() - expect(queries()[1].status()).toBe('pending') - expect(queries()[1].fetchStatus()).toBe('idle') - expect(queries()[1].data()).toBeUndefined() + rendered.fixture.detectChanges() + expect( + rendered.getByText('status1: pending, fetchStatus1: idle'), + ).toBeInTheDocument() + expect( + rendered.getByText('status2: pending, fetchStatus2: idle'), + ).toBeInTheDocument() expect(queryFn1).toHaveBeenCalledTimes(0) expect(queryFn2).toHaveBeenCalledTimes(0) await vi.advanceTimersByTimeAsync(11) - expect(queries()[0].status()).toBe('pending') - expect(queries()[0].fetchStatus()).toBe('idle') - expect(queries()[0].data()).toBeUndefined() - expect(queries()[1].status()).toBe('pending') - expect(queries()[1].fetchStatus()).toBe('idle') - expect(queries()[1].data()).toBeUndefined() + rendered.fixture.detectChanges() + expect( + rendered.getByText('status1: pending, fetchStatus1: idle'), + ).toBeInTheDocument() + expect( + rendered.getByText('status2: pending, fetchStatus2: idle'), + ).toBeInTheDocument() expect(queryFn1).toHaveBeenCalledTimes(0) expect(queryFn2).toHaveBeenCalledTimes(0) })