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 { render , screen } from '@testing-library/react'
3
7
import { graphql , HttpResponse } from 'msw'
4
8
import { setupServer } from 'msw/node'
9
+ import { Suspense } from 'react'
5
10
import { MemoryRouter , Route } from 'react-router-dom'
6
11
7
12
import GeneralTab from './GeneralTab'
@@ -22,29 +27,51 @@ vi.mock('./DefaultBranch', () => ({
22
27
const queryClient = new QueryClient ( {
23
28
defaultOptions : { queries : { retry : false } } ,
24
29
} )
25
- const server = setupServer ( )
30
+ const queryClientV5 = new QueryClientV5 ( {
31
+ defaultOptions : { queries : { retry : false } } ,
32
+ } )
26
33
27
- const wrapper = ( { children } ) => (
28
- < QueryClientProvider client = { queryClient } >
29
- < MemoryRouter initialEntries = { [ '/gh/codecov/codecov-client/config' ] } >
30
- < Route path = "/:provider/:owner/:repo/config" > { children } </ Route >
31
- </ MemoryRouter >
32
- </ QueryClientProvider >
34
+ const wrapper : React . FC < React . PropsWithChildren > = ( { children } ) => (
35
+ < QueryClientProviderV5 client = { queryClientV5 } >
36
+ < QueryClientProvider client = { queryClient } >
37
+ < MemoryRouter initialEntries = { [ '/gh/codecov/codecov-client/config' ] } >
38
+ < Route path = "/:provider/:owner/:repo/config" >
39
+ < Suspense fallback = { < p > Loading</ p > } > { children } </ Suspense >
40
+ </ Route >
41
+ </ MemoryRouter >
42
+ </ QueryClientProvider >
43
+ </ QueryClientProviderV5 >
33
44
)
34
45
46
+ const server = setupServer ( )
35
47
beforeAll ( ( ) => {
36
48
server . listen ( )
37
49
console . error = ( ) => { }
38
50
} )
51
+
39
52
afterEach ( ( ) => {
40
53
queryClient . clear ( )
54
+ queryClientV5 . clear ( )
41
55
server . resetHandlers ( )
42
56
} )
43
- afterAll ( ( ) => server . close ( ) )
57
+
58
+ afterAll ( ( ) => {
59
+ server . close ( )
60
+ } )
61
+
62
+ interface SetupArgs {
63
+ hasDefaultBranch ?: boolean
64
+ isTeamPlan ?: boolean
65
+ isPrivate ?: boolean
66
+ }
44
67
45
68
describe ( 'GeneralTab' , ( ) => {
46
69
function setup (
47
- { hasDefaultBranch = false , isTeamPlan = false , isPrivate = false } = {
70
+ {
71
+ hasDefaultBranch = false ,
72
+ isTeamPlan = false ,
73
+ isPrivate = false ,
74
+ } : SetupArgs = {
48
75
hasDefaultBranch : false ,
49
76
isTeamPlan : false ,
50
77
isPrivate : false ,
@@ -112,19 +139,19 @@ describe('GeneralTab', () => {
112
139
} )
113
140
} )
114
141
115
- it ( 'render tokens component' , ( ) => {
142
+ it ( 'render tokens component' , async ( ) => {
116
143
setup ( { isTeamPlan : true } )
117
144
render ( < GeneralTab /> , { wrapper } )
118
145
119
- const tokensComponent = screen . getByText ( / T o k e n s C o m p o n e n t / )
146
+ const tokensComponent = await screen . findByText ( / T o k e n s C o m p o n e n t / )
120
147
expect ( tokensComponent ) . toBeInTheDocument ( )
121
148
} )
122
149
123
- it ( 'render danger zone component' , ( ) => {
150
+ it ( 'render danger zone component' , async ( ) => {
124
151
setup ( { isTeamPlan : true } )
125
152
render ( < GeneralTab /> , { wrapper } )
126
153
127
- const tokensComponent = screen . getByText ( / D a n g e r Z o n e C o m p o n e n t / )
154
+ const tokensComponent = await screen . findByText ( / D a n g e r Z o n e C o m p o n e n t / )
128
155
expect ( tokensComponent ) . toBeInTheDocument ( )
129
156
} )
130
157
} )
@@ -142,10 +169,10 @@ describe('GeneralTab', () => {
142
169
expect ( tokensComponent ) . toBeInTheDocument ( )
143
170
} )
144
171
145
- it ( 'render danger zone component' , ( ) => {
172
+ it ( 'render danger zone component' , async ( ) => {
146
173
render ( < GeneralTab /> , { wrapper } )
147
174
148
- const tokensComponent = screen . getByText ( / D a n g e r Z o n e C o m p o n e n t / )
175
+ const tokensComponent = await screen . findByText ( / D a n g e r Z o n e C o m p o n e n t / )
149
176
expect ( tokensComponent ) . toBeInTheDocument ( )
150
177
} )
151
178
} )
@@ -155,17 +182,17 @@ describe('GeneralTab', () => {
155
182
setup ( { isTeamPlan : true , isPrivate : false } )
156
183
} )
157
184
158
- it ( 'render tokens component' , ( ) => {
185
+ it ( 'render tokens component' , async ( ) => {
159
186
render ( < GeneralTab /> , { wrapper } )
160
187
161
- const tokensComponent = screen . getByText ( / T o k e n s C o m p o n e n t / )
188
+ const tokensComponent = await screen . findByText ( / T o k e n s C o m p o n e n t / )
162
189
expect ( tokensComponent ) . toBeInTheDocument ( )
163
190
} )
164
191
165
- it ( 'render danger zone component' , ( ) => {
192
+ it ( 'render danger zone component' , async ( ) => {
166
193
render ( < GeneralTab /> , { wrapper } )
167
194
168
- const tokensComponent = screen . getByText ( / D a n g e r Z o n e C o m p o n e n t / )
195
+ const tokensComponent = await screen . findByText ( / D a n g e r Z o n e C o m p o n e n t / )
169
196
expect ( tokensComponent ) . toBeInTheDocument ( )
170
197
} )
171
198
} )
0 commit comments