Skip to content

Commit 0d2112c

Browse files
authored
test(angular-query-experimental/injectIsMutating): switch main test to '@component' + 'render' pattern (TanStack#10557)
1 parent f01b7ce commit 0d2112c

1 file changed

Lines changed: 24 additions & 13 deletions

File tree

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

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
22
import { TestBed } from '@angular/core/testing'
3-
import { Injector, provideZonelessChangeDetection } from '@angular/core'
3+
import {
4+
Component,
5+
Injector,
6+
provideZonelessChangeDetection,
7+
} from '@angular/core'
8+
import { render } from '@testing-library/angular'
49
import { queryKey, sleep } from '@tanstack/query-test-utils'
510
import {
611
QueryClient,
@@ -30,25 +35,31 @@ describe('injectIsMutating', () => {
3035

3136
it('should properly return isMutating state', async () => {
3237
const key = queryKey()
33-
const [mutation, isMutating] = TestBed.runInInjectionContext(() => [
34-
injectMutation(() => ({
38+
39+
@Component({
40+
template: `<div>mutating: {{ isMutating() }}</div>`,
41+
})
42+
class Page {
43+
readonly mutation = injectMutation(() => ({
3544
mutationKey: key,
3645
mutationFn: (params: { par1: string }) => sleep(10).then(() => params),
37-
})),
38-
injectIsMutating(),
39-
])
46+
}))
47+
readonly isMutating = injectIsMutating()
48+
}
4049

41-
expect(isMutating()).toBe(0)
50+
const rendered = await render(Page)
4251

43-
mutation.mutate({
44-
par1: 'par1',
45-
})
52+
expect(rendered.getByText('mutating: 0')).toBeInTheDocument()
53+
54+
rendered.fixture.componentInstance.mutation.mutate({ par1: 'par1' })
4655

47-
expect(isMutating()).toBe(0)
4856
await vi.advanceTimersByTimeAsync(0)
49-
expect(isMutating()).toBe(1)
57+
rendered.fixture.detectChanges()
58+
expect(rendered.getByText('mutating: 1')).toBeInTheDocument()
59+
5060
await vi.advanceTimersByTimeAsync(11)
51-
expect(isMutating()).toBe(0)
61+
rendered.fixture.detectChanges()
62+
expect(rendered.getByText('mutating: 0')).toBeInTheDocument()
5263
})
5364

5465
describe('injection context', () => {

0 commit comments

Comments
 (0)