1
1
import { QueryClient , QueryClientProvider } from '@tanstack/react-query'
2
+ import {
3
+ QueryClientProvider as QueryClientProviderV5 ,
4
+ QueryClient as QueryClientV5 ,
5
+ } from '@tanstack/react-queryV5'
2
6
import { renderHook , waitFor } from '@testing-library/react'
3
7
import { graphql , HttpResponse } from 'msw'
4
8
import { setupServer } from 'msw/node'
@@ -58,14 +62,20 @@ const server = setupServer()
58
62
const queryClient = new QueryClient ( {
59
63
defaultOptions : { queries : { retry : false } } ,
60
64
} )
65
+ const queryClientV5 = new QueryClientV5 ( {
66
+ defaultOptions : { queries : { retry : false } } ,
67
+ } )
68
+
61
69
const wrapper =
62
70
( searchParams = '' ) : React . FC < React . PropsWithChildren > =>
63
71
( { children } ) => (
64
- < QueryClientProvider client = { queryClient } >
65
- < MemoryRouter initialEntries = { [ `/gh/caleb/mighty-nein${ searchParams } ` ] } >
66
- < Route path = "/:provider/:owner/:repo" > { children } </ Route >
67
- </ MemoryRouter >
68
- </ QueryClientProvider >
72
+ < QueryClientProviderV5 client = { queryClientV5 } >
73
+ < QueryClientProvider client = { queryClient } >
74
+ < MemoryRouter initialEntries = { [ `/gh/caleb/mighty-nein${ searchParams } ` ] } >
75
+ < Route path = "/:provider/:owner/:repo" > { children } </ Route >
76
+ </ MemoryRouter >
77
+ </ QueryClientProvider >
78
+ </ QueryClientProviderV5 >
69
79
)
70
80
71
81
beforeAll ( ( ) => {
@@ -74,6 +84,7 @@ beforeAll(() => {
74
84
75
85
afterEach ( ( ) => {
76
86
queryClient . clear ( )
87
+ queryClientV5 . clear ( )
77
88
server . resetHandlers ( )
78
89
} )
79
90
@@ -89,7 +100,9 @@ describe('useRepoCoverageTimeseries', () => {
89
100
const config = vi . fn ( )
90
101
91
102
function setup (
92
- { noCoverageData = false } : SetupArgs = { noCoverageData : false }
103
+ { noCoverageData = false } : SetupArgs = {
104
+ noCoverageData : false ,
105
+ }
93
106
) {
94
107
server . use (
95
108
graphql . query ( 'GetRepoOverview' , ( ) => {
@@ -147,26 +160,19 @@ describe('useRepoCoverageTimeseries', () => {
147
160
} )
148
161
} )
149
162
150
- describe ( 'with no coverage data' , ( ) => {
151
- it ( 'returns an empty array' , async ( ) => {
152
- setup ( { noCoverageData : true } )
153
- const { result } = renderHook (
154
- ( ) => useRepoCoverageTimeseries ( { branch : 'c3' } ) ,
155
- { wrapper : wrapper ( '' ) }
156
- )
157
-
158
- await waitFor ( ( ) => expect ( result . current . data ?. measurements ) . toEqual ( [ ] ) )
159
- } )
160
-
161
- it ( 'returns 0 for coverage change' , async ( ) => {
163
+ describe ( 'with null coverage data' , ( ) => {
164
+ it ( 'returns measurements with 0 for coverage' , async ( ) => {
162
165
setup ( { noCoverageData : true } )
163
166
const { result } = renderHook (
164
167
( ) => useRepoCoverageTimeseries ( { branch : 'c3' } ) ,
165
168
{ wrapper : wrapper ( '' ) }
166
169
)
167
170
168
171
await waitFor ( ( ) =>
169
- expect ( result . current . data ?. coverageChange ) . toEqual ( 0 )
172
+ expect ( result . current . data ?. measurements ) . toEqual ( [
173
+ { coverage : 0 , date : new Date ( '2023-01-01T00:00:00.000Z' ) } ,
174
+ { coverage : 0 , date : new Date ( '2023-01-02T00:00:00.000Z' ) } ,
175
+ ] )
170
176
)
171
177
} )
172
178
} )
0 commit comments