Skip to content

Commit 19c7450

Browse files
migrate hook to the query options api
1 parent a77d790 commit 19c7450

File tree

3 files changed

+67
-47
lines changed

3 files changed

+67
-47
lines changed

src/pages/CommitDetailPage/Header/HeaderTeam/hooks/index.ts

-1
This file was deleted.

src/pages/CommitDetailPage/Header/HeaderTeam/hooks/useCommitHeaderDataTeam.test.tsx src/pages/CommitDetailPage/Header/HeaderTeam/queries/CommitHeaderDataTeamQueryOpts.test.tsx

+54-38
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
1+
import {
2+
QueryClientProvider as QueryClientProviderV5,
3+
QueryClient as QueryClientV5,
4+
useQuery as useQueryV5,
5+
} from '@tanstack/react-queryV5'
26
import { renderHook, waitFor } from '@testing-library/react'
37
import { graphql, HttpResponse } from 'msw'
48
import { setupServer } from 'msw/node'
59

6-
import { useCommitHeaderDataTeam } from './useCommitHeaderDataTeam'
10+
import { CommitHeaderDataTeamQueryOpts } from './CommitHeaderDataTeamQueryOpts'
711

812
const mockRepository = {
913
owner: {
@@ -54,21 +58,23 @@ const mockNullOwner = {
5458

5559
const mockUnsuccessfulParseError = {}
5660

57-
const queryClient = new QueryClient({
58-
defaultOptions: { queries: { retry: false, useErrorBoundary: false } },
59-
})
6061
const server = setupServer()
62+
const queryClientV5 = new QueryClientV5({
63+
defaultOptions: { queries: { retry: false } },
64+
})
6165

6266
const wrapper: React.FC<React.PropsWithChildren> = ({ children }) => (
63-
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
67+
<QueryClientProviderV5 client={queryClientV5}>
68+
{children}
69+
</QueryClientProviderV5>
6470
)
6571

6672
beforeAll(() => {
6773
server.listen()
6874
})
6975

7076
afterEach(() => {
71-
queryClient.clear()
77+
queryClientV5.clear()
7278
server.resetHandlers()
7379
})
7480

@@ -83,7 +89,7 @@ interface SetupArgs {
8389
isNullOwner?: boolean
8490
}
8591

86-
describe('useCommitHeaderDataTeam', () => {
92+
describe('CommitHeaderDataTeamQueryOpts', () => {
8793
function setup({
8894
isNotFoundError = false,
8995
isOwnerNotActivatedError = false,
@@ -115,12 +121,14 @@ describe('useCommitHeaderDataTeam', () => {
115121

116122
const { result } = renderHook(
117123
() =>
118-
useCommitHeaderDataTeam({
119-
provider: 'gh',
120-
owner: 'codecov',
121-
repo: 'test-repo',
122-
commitId: 'id-1',
123-
}),
124+
useQueryV5(
125+
CommitHeaderDataTeamQueryOpts({
126+
provider: 'gh',
127+
owner: 'codecov',
128+
repo: 'test-repo',
129+
commitId: 'id-1',
130+
})
131+
),
124132
{ wrapper }
125133
)
126134

@@ -158,12 +166,14 @@ describe('useCommitHeaderDataTeam', () => {
158166

159167
const { result } = renderHook(
160168
() =>
161-
useCommitHeaderDataTeam({
162-
provider: 'gh',
163-
owner: 'codecov',
164-
repo: 'test-repo',
165-
commitId: 'id-1',
166-
}),
169+
useQueryV5(
170+
CommitHeaderDataTeamQueryOpts({
171+
provider: 'gh',
172+
owner: 'codecov',
173+
repo: 'test-repo',
174+
commitId: 'id-1',
175+
})
176+
),
167177
{ wrapper }
168178
)
169179

@@ -197,12 +207,14 @@ describe('useCommitHeaderDataTeam', () => {
197207

198208
const { result } = renderHook(
199209
() =>
200-
useCommitHeaderDataTeam({
201-
provider: 'gh',
202-
owner: 'codecov',
203-
repo: 'test-repo',
204-
commitId: 'id-1',
205-
}),
210+
useQueryV5(
211+
CommitHeaderDataTeamQueryOpts({
212+
provider: 'gh',
213+
owner: 'codecov',
214+
repo: 'test-repo',
215+
commitId: 'id-1',
216+
})
217+
),
206218
{ wrapper }
207219
)
208220

@@ -233,12 +245,14 @@ describe('useCommitHeaderDataTeam', () => {
233245

234246
const { result } = renderHook(
235247
() =>
236-
useCommitHeaderDataTeam({
237-
provider: 'gh',
238-
owner: 'codecov',
239-
repo: 'test-repo',
240-
commitId: 'id-1',
241-
}),
248+
useQueryV5(
249+
CommitHeaderDataTeamQueryOpts({
250+
provider: 'gh',
251+
owner: 'codecov',
252+
repo: 'test-repo',
253+
commitId: 'id-1',
254+
})
255+
),
242256
{ wrapper }
243257
)
244258

@@ -269,12 +283,14 @@ describe('useCommitHeaderDataTeam', () => {
269283

270284
const { result } = renderHook(
271285
() =>
272-
useCommitHeaderDataTeam({
273-
provider: 'gh',
274-
owner: 'codecov',
275-
repo: 'test-repo',
276-
commitId: 'id-1',
277-
}),
286+
useQueryV5(
287+
CommitHeaderDataTeamQueryOpts({
288+
provider: 'gh',
289+
owner: 'codecov',
290+
repo: 'test-repo',
291+
commitId: 'id-1',
292+
})
293+
),
278294
{ wrapper }
279295
)
280296

src/pages/CommitDetailPage/Header/HeaderTeam/hooks/useCommitHeaderDataTeam.tsx src/pages/CommitDetailPage/Header/HeaderTeam/queries/CommitHeaderDataTeamQueryOpts.tsx

+13-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useQuery } from '@tanstack/react-query'
1+
import { queryOptions as queryOptionsV5 } from '@tanstack/react-queryV5'
22
import { z } from 'zod'
33

44
import {
@@ -14,6 +14,7 @@ import {
1414
RepoOwnerNotActivatedErrorSchema,
1515
} from 'services/repo'
1616
import Api from 'shared/api'
17+
import { rejectNetworkError } from 'shared/api/helpers'
1718
import A from 'ui/A'
1819

1920
const CoverageObjSchema = z.object({
@@ -130,20 +131,20 @@ const query = `
130131
}
131132
`
132133

133-
interface UseCommitHeaderDataTeamArgs {
134+
interface CommitHeaderDataTeamQueryArgs {
134135
provider: string
135136
owner: string
136137
repo: string
137138
commitId: string
138139
}
139140

140-
export const useCommitHeaderDataTeam = ({
141+
export const CommitHeaderDataTeamQueryOpts = ({
141142
provider,
142143
owner,
143144
repo,
144145
commitId,
145-
}: UseCommitHeaderDataTeamArgs) =>
146-
useQuery({
146+
}: CommitHeaderDataTeamQueryArgs) =>
147+
queryOptionsV5({
147148
queryKey: [
148149
'CommitPageHeaderDataTeam',
149150
provider,
@@ -167,23 +168,26 @@ export const useCommitHeaderDataTeam = ({
167168
const parsedData = CommitHeaderDataTeamSchema.safeParse(res?.data)
168169

169170
if (!parsedData.success) {
170-
return Promise.reject({
171+
return rejectNetworkError({
171172
status: 404,
172173
data: {},
174+
dev: 'CommitHeaderDataTeamQueryOpts - 404 Failed to parse schema',
175+
error: parsedData.error,
173176
})
174177
}
175178

176179
const data = parsedData.data
177180

178181
if (data?.owner?.repository?.__typename === 'NotFoundError') {
179-
return Promise.reject({
182+
return rejectNetworkError({
180183
status: 404,
181184
data: {},
185+
dev: 'CommitHeaderDataTeamQueryOpts - 404 Not Found',
182186
})
183187
}
184188

185189
if (data?.owner?.repository?.__typename === 'OwnerNotActivatedError') {
186-
return Promise.reject({
190+
return rejectNetworkError({
187191
status: 403,
188192
data: {
189193
detail: (
@@ -195,6 +199,7 @@ export const useCommitHeaderDataTeam = ({
195199
</p>
196200
),
197201
},
202+
dev: 'CommitHeaderDataTeamQueryOpts - 403 Owner Not Activated',
198203
})
199204
}
200205

0 commit comments

Comments
 (0)