Skip to content

Commit 46eb06d

Browse files
authored
test(getter): switch to fake timers, replace 'waitFor' with 'vi.waitFor' (#1119)
1 parent 044011b commit 46eb06d

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

tests/getter.test.tsx

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
import { StrictMode } from 'react'
2-
import { fireEvent, render, screen, waitFor } from '@testing-library/react'
3-
import { expect, it, vi } from 'vitest'
2+
import { fireEvent, render, screen } from '@testing-library/react'
3+
import { afterEach, beforeEach, expect, it, vi } from 'vitest'
44
import { proxy, useSnapshot } from 'valtio'
55

6+
beforeEach(() => {
7+
vi.useFakeTimers()
8+
})
9+
10+
afterEach(() => {
11+
vi.useRealTimers()
12+
})
13+
614
it('simple object getters', async () => {
715
const computeDouble = vi.fn((x: number) => x * 2)
816
const state = proxy({
@@ -31,14 +39,14 @@ it('simple object getters', async () => {
3139
</StrictMode>,
3240
)
3341

34-
await waitFor(() => {
42+
await vi.waitFor(() => {
3543
expect(screen.getByText('A count: 0')).toBeInTheDocument()
3644
expect(screen.getByText('B count: 0')).toBeInTheDocument()
3745
})
3846

3947
computeDouble.mockClear()
4048
fireEvent.click(screen.getByText('A button'))
41-
await waitFor(() => {
49+
await vi.waitFor(() => {
4250
expect(screen.getByText('A count: 2')).toBeInTheDocument()
4351
expect(screen.getByText('B count: 2')).toBeInTheDocument()
4452
})
@@ -73,14 +81,14 @@ it('object getters returning object', async () => {
7381
</StrictMode>,
7482
)
7583

76-
await waitFor(() => {
84+
await vi.waitFor(() => {
7785
expect(screen.getByText('A count: 0')).toBeInTheDocument()
7886
expect(screen.getByText('B count: 0')).toBeInTheDocument()
7987
})
8088

8189
computeDouble.mockClear()
8290
fireEvent.click(screen.getByText('A button'))
83-
await waitFor(() => {
91+
await vi.waitFor(() => {
8492
expect(screen.getByText('A count: 2')).toBeInTheDocument()
8593
expect(screen.getByText('B count: 2')).toBeInTheDocument()
8694
})

0 commit comments

Comments
 (0)