Skip to content

Commit 78e600e

Browse files
authored
Merge branch 'main' into gh-eng-3352-chore-remove-use-of-barrel-files-in-services-pull
2 parents 7a77115 + 557babb commit 78e600e

File tree

168 files changed

+552
-1127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+552
-1127
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"dev": "yarn start",
77
"start": "vite --host",
88
"build": "tsc -b && vite build",
9+
"preview": "vite preview",
910
"test": "vitest run --config ./vitest.config.mjs",
1011
"test:changed": "vitest run --changed --config ./vitest.config.mjs",
1112
"test:watch": "vitest watch --changed --config ./vitest.config.mjs",

src/layouts/BaseLayout/BaseLayout.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { type Mock } from 'vitest'
1212
import config from 'config'
1313

1414
import { useImage } from 'services/image'
15-
import { useImpersonate } from 'services/impersonate'
15+
import { useImpersonate } from 'services/impersonate/useImpersonate'
1616
import { useInternalUser, useUser } from 'services/user'
1717
import { Plans } from 'shared/utils/billing'
1818

@@ -21,7 +21,7 @@ import BaseLayout from './BaseLayout'
2121
vi.mock('services/image')
2222
const mockedUseImage = useImage as Mock
2323

24-
vi.mock('services/impersonate')
24+
vi.mock('services/impersonate/useImpersonate')
2525
const mockedUseImpersonate = useImpersonate as Mock
2626

2727
vi.mock('shared/GlobalTopBanners', () => ({

src/layouts/BaseLayout/BaseLayout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { OnboardingContainerProvider } from 'pages/OwnerPage/OnboardingContainer
1313
import { RepoBreadcrumbProvider } from 'pages/RepoPage/context'
1414
import TermsOfService from 'pages/TermsOfService'
1515
import { useEventContext } from 'services/events/hooks'
16-
import { useImpersonate } from 'services/impersonate'
16+
import { useImpersonate } from 'services/impersonate/useImpersonate'
1717
import { useTracking } from 'services/tracking'
1818
import GlobalBanners from 'shared/GlobalBanners'
1919
import GlobalTopBanners from 'shared/GlobalTopBanners'

src/layouts/EnterpriseLoginLayout/Header/Header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import cs from 'classnames'
22

33
import { CodecovIcon } from 'assets/svg/codecov'
4-
import { useImpersonate } from 'services/impersonate'
4+
import { useImpersonate } from 'services/impersonate/useImpersonate'
55
import A from 'ui/A'
66

77
function Header() {

src/layouts/Header/Header.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { type Mock, vi } from 'vitest'
77

88
import config from 'config'
99

10-
import { useImpersonate } from 'services/impersonate'
10+
import { useImpersonate } from 'services/impersonate/useImpersonate'
1111
import { User } from 'services/user'
1212
import { Plans } from 'shared/utils/billing'
1313

@@ -32,7 +32,7 @@ vi.mock('src/layouts/Header/components/ThemeToggle', () => ({
3232
default: () => 'Theme Toggle',
3333
}))
3434

35-
vi.mock('services/impersonate')
35+
vi.mock('services/impersonate/useImpersonate')
3636
const mockedUseImpersonate = useImpersonate as Mock
3737

3838
const mockUser = {

src/layouts/Header/Header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useRouteMatch } from 'react-router-dom'
33

44
import config from 'config'
55

6-
import { useImpersonate } from 'services/impersonate'
6+
import { useImpersonate } from 'services/impersonate/useImpersonate'
77
import { useUser } from 'services/user'
88

99
import AdminLink from './components/AdminLink'

src/layouts/shared/NetworkErrorBoundary/NetworkErrorBoundary.jsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ import upsideDownUmbrella from './assets/error-upsidedown-umbrella.svg'
1414
import styles from './NetworkErrorBoundary.module.css'
1515

1616
const errorToUI = {
17+
400: {
18+
illustration: upsideDownUmbrella,
19+
title: 'Bad Request',
20+
description: null,
21+
showDocs: true,
22+
},
1723
401: {
1824
illustration: openUmbrella,
1925
title: <a href="/login">Please log in.</a>,

src/layouts/shared/NetworkErrorBoundary/NetworkErrorBoundary.test.jsx

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,64 @@ describe('NetworkErrorBoundary', () => {
225225
})
226226
})
227227

228+
describe('when the children component has a 400 error', () => {
229+
describe('when not running in self-hosted mode', () => {
230+
it('renders a Bad Request', async () => {
231+
const { user } = setup()
232+
render(<App status={400} />, {
233+
wrapper: wrapper(),
234+
})
235+
236+
const textBox = await screen.findByRole('textbox')
237+
await user.type(textBox, 'fail')
238+
239+
const badRequest = await screen.findByText(/Bad Request/)
240+
expect(badRequest).toBeInTheDocument()
241+
})
242+
243+
it('renders return to previous page button', async () => {
244+
const { user } = setup()
245+
render(<App status={400} />, {
246+
wrapper: wrapper(),
247+
})
248+
249+
const textBox = await screen.findByRole('textbox')
250+
await user.type(textBox, 'fail')
251+
252+
const button = await screen.findByText('Return to previous page')
253+
expect(button).toBeInTheDocument()
254+
})
255+
})
256+
257+
describe('when running in self hosted mode', () => {
258+
it('renders a Bad Request', async () => {
259+
const { user } = setup({ isSelfHosted: true })
260+
render(<App status={400} />, {
261+
wrapper: wrapper(),
262+
})
263+
264+
const textBox = await screen.findByRole('textbox')
265+
await user.type(textBox, 'fail')
266+
267+
const badRequest = await screen.findByText(/Bad Request/)
268+
expect(badRequest).toBeInTheDocument()
269+
})
270+
271+
it('renders return to previous page button', async () => {
272+
const { user } = setup({ isSelfHosted: true })
273+
render(<App status={400} />, {
274+
wrapper: wrapper(),
275+
})
276+
277+
const textBox = await screen.findByRole('textbox')
278+
await user.type(textBox, 'fail')
279+
280+
const button = await screen.findByText('Return to previous page')
281+
expect(button).toBeInTheDocument()
282+
})
283+
})
284+
})
285+
228286
describe('when the children component has a 404 error', () => {
229287
describe('when not running in self-hosted mode', () => {
230288
it('renders a Not found', async () => {

src/pages/AccountSettings/tabs/Admin/Admin.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ import { useParams } from 'react-router-dom'
22

33
import { useUser } from 'services/user'
44

5-
import DeletionCard from './DeletionCard'
65
import DetailsSection from './DetailsSection'
76
import GithubIntegrationSection from './GithubIntegrationSection'
87
import ManageAdminCard from './ManageAdminCard'
98
import StudentSection from './StudentSection'
109

10+
import DeletionCard from '../DeletionCard'
11+
1112
function Admin() {
1213
const { owner } = useParams()
1314
const { data: currentUser } = useUser()

src/pages/AccountSettings/tabs/Admin/Admin.test.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ vi.mock('./GithubIntegrationSection', () => ({
1414
default: () => 'GithubIntegrationSection',
1515
}))
1616
vi.mock('./ManageAdminCard', () => ({ default: () => 'ManageAdminCard' }))
17-
vi.mock('./DeletionCard', () => ({ default: () => 'DeletionCard' }))
17+
vi.mock('../DeletionCard', () => ({ default: () => 'DeletionCard' }))
1818

1919
const user = {
2020
me: {

0 commit comments

Comments
 (0)