Skip to content

Commit 51d4fd5

Browse files
authored
ref: Add rejectNetworkError to calls (part two) (#3765)
1 parent 09a4a22 commit 51d4fd5

36 files changed

+463
-500
lines changed

src/services/commit/useCompareTotals.test.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ describe('useCompareTotals', () => {
196196
await waitFor(() =>
197197
expect(result.current.error).toEqual(
198198
expect.objectContaining({
199+
dev: 'useCompareTotals - Not Found Error',
199200
status: 404,
200-
dev: 'useCompareTotals - 404 not found',
201201
})
202202
)
203203
)
@@ -232,8 +232,8 @@ describe('useCompareTotals', () => {
232232
await waitFor(() =>
233233
expect(result.current.error).toEqual(
234234
expect.objectContaining({
235+
dev: 'useCompareTotals - Owner Not Activated',
235236
status: 403,
236-
dev: 'useCompareTotals - 403 owner not activated',
237237
})
238238
)
239239
)
@@ -251,7 +251,7 @@ describe('useCompareTotals', () => {
251251
consoleSpy.mockRestore()
252252
})
253253

254-
it('throws a 404', async () => {
254+
it('throws a 400', async () => {
255255
setup({ isUnsuccessfulParseError: true })
256256
const { result } = renderHook(
257257
() =>
@@ -268,8 +268,8 @@ describe('useCompareTotals', () => {
268268
await waitFor(() =>
269269
expect(result.current.error).toEqual(
270270
expect.objectContaining({
271-
status: 404,
272-
dev: 'useCompareTotals - 404 failed to parse',
271+
dev: 'useCompareTotals - Parsing Error',
272+
status: 400,
273273
})
274274
)
275275
)

src/services/commit/useCompareTotals.tsx

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
RepoOwnerNotActivatedErrorSchema,
1313
} from 'services/repo/schemas'
1414
import Api from 'shared/api'
15-
import { type NetworkErrorObject } from 'shared/api/helpers'
15+
import { rejectNetworkError } from 'shared/api/rejectNetworkError'
1616
import A from 'ui/A'
1717

1818
const CoverageObjSchema = z.object({
@@ -196,26 +196,30 @@ export function useCompareTotals({
196196
const parsedRes = RequestSchema.safeParse(res?.data)
197197

198198
if (!parsedRes.success) {
199-
return Promise.reject({
200-
status: 404,
201-
data: {},
202-
dev: 'useCompareTotals - 404 failed to parse',
203-
} satisfies NetworkErrorObject)
199+
return rejectNetworkError({
200+
errorName: 'Parsing Error',
201+
errorDetails: {
202+
callingFn: 'useCompareTotals',
203+
error: parsedRes.error,
204+
},
205+
})
204206
}
205207

206208
const data = parsedRes.data
207209

208210
if (data?.owner?.repository?.__typename === 'NotFoundError') {
209-
return Promise.reject({
210-
status: 404,
211-
data: {},
212-
dev: 'useCompareTotals - 404 not found',
213-
} satisfies NetworkErrorObject)
211+
return rejectNetworkError({
212+
errorName: 'Not Found Error',
213+
errorDetails: {
214+
callingFn: 'useCompareTotals',
215+
},
216+
})
214217
}
215218

216219
if (data?.owner?.repository?.__typename === 'OwnerNotActivatedError') {
217-
return Promise.reject({
218-
status: 403,
220+
return rejectNetworkError({
221+
errorName: 'Owner Not Activated',
222+
errorDetails: { callingFn: 'useCompareTotals' },
219223
data: {
220224
detail: (
221225
<p>
@@ -226,8 +230,7 @@ export function useCompareTotals({
226230
</p>
227231
),
228232
},
229-
dev: 'useCompareTotals - 403 owner not activated',
230-
} satisfies NetworkErrorObject)
233+
})
231234
}
232235

233236
return data

src/services/commit/useCompareTotalsTeam.test.tsx

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ const mockCompareData = {
1414
compareWithParent: {
1515
__typename: 'Comparison',
1616
state: 'processed',
17-
patchTotals: {
18-
coverage: 100,
19-
},
17+
patchTotals: { coverage: 100 },
2018
impactedFiles: {
2119
__typename: 'ImpactedFiles',
2220
results: [
@@ -57,11 +55,7 @@ const mockUnsuccessfulParseError = {}
5755

5856
const server = setupServer()
5957
const queryClient = new QueryClient({
60-
defaultOptions: {
61-
queries: {
62-
retry: false,
63-
},
64-
},
58+
defaultOptions: { queries: { retry: false } },
6559
})
6660

6761
const wrapper: React.FC<React.PropsWithChildren> = ({ children }) => (
@@ -133,17 +127,10 @@ describe('useCompareTotalsTeam', () => {
133127
impactedFiles: {
134128
__typename: 'ImpactedFiles',
135129
results: [
136-
{
137-
headName: 'src/App.tsx',
138-
patchCoverage: {
139-
coverage: 100,
140-
},
141-
},
130+
{ headName: 'src/App.tsx', patchCoverage: { coverage: 100 } },
142131
],
143132
},
144-
patchTotals: {
145-
coverage: 100,
146-
},
133+
patchTotals: { coverage: 100 },
147134
state: 'processed',
148135
},
149136
}
@@ -201,8 +188,8 @@ describe('useCompareTotalsTeam', () => {
201188
await waitFor(() =>
202189
expect(result.current.error).toEqual(
203190
expect.objectContaining({
191+
dev: 'useCompareTotalsTeam - Not Found Error',
204192
status: 404,
205-
dev: 'useCompareTotalsTeam - 404 not found',
206193
})
207194
)
208195
)
@@ -237,8 +224,8 @@ describe('useCompareTotalsTeam', () => {
237224
await waitFor(() =>
238225
expect(result.current.error).toEqual(
239226
expect.objectContaining({
227+
dev: 'useCompareTotalsTeam - Owner Not Activated',
240228
status: 403,
241-
dev: 'useCompareTotalsTeam - 403 owner not activated',
242229
})
243230
)
244231
)
@@ -256,7 +243,7 @@ describe('useCompareTotalsTeam', () => {
256243
consoleSpy.mockRestore()
257244
})
258245

259-
it('throws a 404', async () => {
246+
it('throws a 400', async () => {
260247
setup({ isUnsuccessfulParseError: true })
261248
const { result } = renderHook(
262249
() =>
@@ -273,8 +260,8 @@ describe('useCompareTotalsTeam', () => {
273260
await waitFor(() =>
274261
expect(result.current.error).toEqual(
275262
expect.objectContaining({
276-
status: 404,
277-
dev: 'useCompareTotalsTeam - 404 failed to parse',
263+
dev: 'useCompareTotalsTeam - Parsing Error',
264+
status: 400,
278265
})
279266
)
280267
)

src/services/commit/useCompareTotalsTeam.tsx

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
RepoOwnerNotActivatedErrorSchema,
1313
} from 'services/repo/schemas'
1414
import Api from 'shared/api'
15-
import { NetworkErrorObject } from 'shared/api/helpers'
15+
import { rejectNetworkError } from 'shared/api/rejectNetworkError'
1616
import A from 'ui/A'
1717

1818
const CoverageObjSchema = z.object({
@@ -184,26 +184,32 @@ export function useCompareTotalsTeam({
184184
const parsedRes = RequestSchema.safeParse(res?.data)
185185

186186
if (!parsedRes.success) {
187-
return Promise.reject({
188-
status: 404,
189-
data: {},
190-
dev: 'useCompareTotalsTeam - 404 failed to parse',
191-
} satisfies NetworkErrorObject)
187+
return rejectNetworkError({
188+
errorName: 'Parsing Error',
189+
errorDetails: {
190+
callingFn: 'useCompareTotalsTeam',
191+
error: parsedRes.error,
192+
},
193+
})
192194
}
193195

194196
const data = parsedRes.data
195197

196198
if (data?.owner?.repository?.__typename === 'NotFoundError') {
197-
return Promise.reject({
198-
status: 404,
199-
data: {},
200-
dev: 'useCompareTotalsTeam - 404 not found',
201-
} satisfies NetworkErrorObject)
199+
return rejectNetworkError({
200+
errorName: 'Not Found Error',
201+
errorDetails: {
202+
callingFn: 'useCompareTotalsTeam',
203+
},
204+
})
202205
}
203206

204207
if (data?.owner?.repository?.__typename === 'OwnerNotActivatedError') {
205-
return Promise.reject({
206-
status: 403,
208+
return rejectNetworkError({
209+
errorName: 'Owner Not Activated',
210+
errorDetails: {
211+
callingFn: 'useCompareTotalsTeam',
212+
},
207213
data: {
208214
detail: (
209215
<p>
@@ -214,8 +220,7 @@ export function useCompareTotalsTeam({
214220
</p>
215221
),
216222
},
217-
dev: 'useCompareTotalsTeam - 403 owner not activated',
218-
} satisfies NetworkErrorObject)
223+
})
219224
}
220225

221226
return data?.owner?.repository?.commit ?? null

src/services/commitErrors/useCommitErrors.test.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,8 @@ const dataReturned = {
2727
repository: {
2828
__typename: 'Repository',
2929
commit: {
30-
yamlErrors: {
31-
edges: [{ node: { errorCode: 'invalid_yaml' } }],
32-
},
33-
botErrors: {
34-
edges: [{ node: { errorCode: 'repo_bot_invalid' } }],
35-
},
30+
yamlErrors: { edges: [{ node: { errorCode: 'invalid_yaml' } }] },
31+
botErrors: { edges: [{ node: { errorCode: 'repo_bot_invalid' } }] },
3632
},
3733
},
3834
},
@@ -124,7 +120,8 @@ describe('useCommitErrors', () => {
124120
await waitFor(() =>
125121
expect(result.current.error).toEqual(
126122
expect.objectContaining({
127-
status: 404,
123+
dev: 'useCommitErrors - Parsing Error',
124+
status: 400,
128125
})
129126
)
130127
)
@@ -140,6 +137,7 @@ describe('useCommitErrors', () => {
140137
await waitFor(() =>
141138
expect(result.current.error).toEqual(
142139
expect.objectContaining({
140+
dev: 'useCommitErrors - Not Found Error',
143141
status: 404,
144142
})
145143
)
@@ -156,6 +154,7 @@ describe('useCommitErrors', () => {
156154
await waitFor(() =>
157155
expect(result.current.error).toEqual(
158156
expect.objectContaining({
157+
dev: 'useCommitErrors - Owner Not Activated',
159158
status: 403,
160159
})
161160
)

src/services/commitErrors/useCommitErrors.tsx

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
RepoOwnerNotActivatedErrorSchema,
88
} from 'services/repo'
99
import Api from 'shared/api'
10-
import { NetworkErrorObject } from 'shared/api/helpers'
10+
import { rejectNetworkError } from 'shared/api/rejectNetworkError'
1111
import { mapEdges } from 'shared/utils/graphql'
1212
import A from 'ui/A'
1313

@@ -107,26 +107,32 @@ export function useCommitErrors() {
107107
const parsedData = useCommitErrorsSchema.safeParse(res?.data)
108108

109109
if (!parsedData.success) {
110-
return Promise.reject({
111-
status: 404,
112-
data: {},
113-
dev: 'useCommitErrors - 404 Failed to parse data',
114-
} satisfies NetworkErrorObject)
110+
return rejectNetworkError({
111+
errorName: 'Parsing Error',
112+
errorDetails: {
113+
callingFn: 'useCommitErrors',
114+
error: parsedData.error,
115+
},
116+
})
115117
}
116118

117119
const data = parsedData.data
118120

119121
if (data?.owner?.repository?.__typename === 'NotFoundError') {
120-
return Promise.reject({
121-
status: 404,
122-
data: {},
123-
dev: 'useCommitErrors - 404 NotFoundError',
124-
} satisfies NetworkErrorObject)
122+
return rejectNetworkError({
123+
errorName: 'Not Found Error',
124+
errorDetails: {
125+
callingFn: 'useCommitErrors',
126+
},
127+
})
125128
}
126129

127130
if (data?.owner?.repository?.__typename === 'OwnerNotActivatedError') {
128-
return Promise.reject({
129-
status: 403,
131+
return rejectNetworkError({
132+
errorName: 'Owner Not Activated',
133+
errorDetails: {
134+
callingFn: 'useCommitErrors',
135+
},
130136
data: {
131137
detail: (
132138
<p>
@@ -137,8 +143,7 @@ export function useCommitErrors() {
137143
</p>
138144
),
139145
},
140-
dev: 'useCommitErrors - 403 OwnerNotActivated Error',
141-
} satisfies NetworkErrorObject)
146+
})
142147
}
143148

144149
return {

0 commit comments

Comments
 (0)