Skip to content

Commit 5ccd597

Browse files
test(angular-query-experimental/injectQuery): switch 'success' and 'reject' tests to '@component' + 'render' pattern (TanStack#10572)
* test(angular-query-experimental/injectQuery): switch 'success' and 'reject' tests to '@component' + 'render' pattern * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent 41a7ab0 commit 5ccd597

1 file changed

Lines changed: 53 additions & 20 deletions

File tree

packages/angular-query-experimental/src/__tests__/inject-query.test.ts

Lines changed: 53 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
it,
2424
vi,
2525
} from 'vitest'
26+
import { render } from '@testing-library/angular'
2627
import { queryKey, sleep } from '@tanstack/query-test-utils'
2728
import { lastValueFrom } from 'rxjs'
2829
import {
@@ -285,42 +286,74 @@ describe('injectQuery', () => {
285286

286287
it('should resolve to success and update signal: injectQuery()', async () => {
287288
const key = queryKey()
288-
const query = TestBed.runInInjectionContext(() => {
289-
return injectQuery(() => ({
289+
290+
@Component({
291+
template: `
292+
<div>status: {{ query.status() }}</div>
293+
<div>data: {{ query.data() ?? 'none' }}</div>
294+
<div>isPending: {{ query.isPending() }}</div>
295+
<div>isFetching: {{ query.isFetching() }}</div>
296+
<div>isFetched: {{ query.isFetched() }}</div>
297+
<div>isSuccess: {{ query.isSuccess() }}</div>
298+
`,
299+
})
300+
class Page {
301+
readonly query = injectQuery(() => ({
290302
queryKey: key,
291303
queryFn: () => sleep(10).then(() => 'result2'),
292304
}))
293-
})
305+
}
306+
307+
const rendered = await render(Page)
294308

295309
await vi.advanceTimersByTimeAsync(11)
296-
expect(query.status()).toBe('success')
297-
expect(query.data()).toBe('result2')
298-
expect(query.isPending()).toBe(false)
299-
expect(query.isFetching()).toBe(false)
300-
expect(query.isFetched()).toBe(true)
301-
expect(query.isSuccess()).toBe(true)
310+
rendered.fixture.detectChanges()
311+
312+
expect(rendered.getByText('status: success')).toBeInTheDocument()
313+
expect(rendered.getByText('data: result2')).toBeInTheDocument()
314+
expect(rendered.getByText('isPending: false')).toBeInTheDocument()
315+
expect(rendered.getByText('isFetching: false')).toBeInTheDocument()
316+
expect(rendered.getByText('isFetched: true')).toBeInTheDocument()
317+
expect(rendered.getByText('isSuccess: true')).toBeInTheDocument()
302318
})
303319

304320
it('should reject and update signal', async () => {
305321
const key = queryKey()
306-
const query = TestBed.runInInjectionContext(() => {
307-
return injectQuery(() => ({
322+
323+
@Component({
324+
template: `
325+
<div>status: {{ query.status() }}</div>
326+
<div>data: {{ query.data() ?? 'none' }}</div>
327+
<div>error: {{ query.error()?.message ?? 'none' }}</div>
328+
<div>isPending: {{ query.isPending() }}</div>
329+
<div>isFetching: {{ query.isFetching() }}</div>
330+
<div>isError: {{ query.isError() }}</div>
331+
<div>failureCount: {{ query.failureCount() }}</div>
332+
<div>failureReason: {{ query.failureReason()?.message ?? 'none' }}</div>
333+
`,
334+
})
335+
class Page {
336+
readonly query = injectQuery(() => ({
308337
retry: false,
309338
queryKey: key,
310339
queryFn: () =>
311340
sleep(10).then(() => Promise.reject(new Error('Some error'))),
312341
}))
313-
})
342+
}
343+
344+
const rendered = await render(Page)
314345

315346
await vi.advanceTimersByTimeAsync(11)
316-
expect(query.status()).toBe('error')
317-
expect(query.data()).toBe(undefined)
318-
expect(query.error()).toMatchObject({ message: 'Some error' })
319-
expect(query.isPending()).toBe(false)
320-
expect(query.isFetching()).toBe(false)
321-
expect(query.isError()).toBe(true)
322-
expect(query.failureCount()).toBe(1)
323-
expect(query.failureReason()).toMatchObject({ message: 'Some error' })
347+
rendered.fixture.detectChanges()
348+
349+
expect(rendered.getByText('status: error')).toBeInTheDocument()
350+
expect(rendered.getByText('data: none')).toBeInTheDocument()
351+
expect(rendered.getByText('error: Some error')).toBeInTheDocument()
352+
expect(rendered.getByText('isPending: false')).toBeInTheDocument()
353+
expect(rendered.getByText('isFetching: false')).toBeInTheDocument()
354+
expect(rendered.getByText('isError: true')).toBeInTheDocument()
355+
expect(rendered.getByText('failureCount: 1')).toBeInTheDocument()
356+
expect(rendered.getByText('failureReason: Some error')).toBeInTheDocument()
324357
})
325358

326359
it('should update query on options contained signal change', async () => {

0 commit comments

Comments
 (0)