Skip to content

Commit

Permalink
refactor(sanity): add prop to createWrapper to access TestProviderOpt…
Browse files Browse the repository at this point in the history
…ions
  • Loading branch information
RitaDias committed Jul 9, 2024
1 parent f0bf1a5 commit e31e8db
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 16 deletions.
9 changes: 6 additions & 3 deletions packages/sanity/src/core/bundles/util/tests/createWrapper.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import {studioTheme, ThemeProvider} from '@sanity/ui'
import {type ReactNode} from 'react'

import {createTestProvider} from '../../../../../test/testUtils/TestProvider'
import {
createTestProvider,
type TestProviderOptions,
} from '../../../../../test/testUtils/TestProvider'

export const createWrapper = async () => {
const TestProvider = await createTestProvider()
export const createWrapper = async (options?: TestProviderOptions) => {
const TestProvider = await createTestProvider(options)
return function Wrapper({children}: {children: ReactNode}): JSX.Element {
return (
<ThemeProvider theme={studioTheme}>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import {beforeEach, describe, expect, it, jest} from '@jest/globals'
import {fireEvent, render, screen, waitFor} from '@testing-library/react'
import {type ReactNode} from 'react'

import {queryByDataUi} from '../../../../../test/setup/customQueries'
import {createTestProvider} from '../../../../../test/testUtils/TestProvider'
import {createWrapper} from '../../../bundles/util/tests/createWrapper'
import {useBundles} from '../../../store/bundles'
import {type BundleDocument} from '../../../store/bundles/types'
import {releasesUsEnglishLocaleBundle} from '../../i18n'
Expand All @@ -23,15 +22,6 @@ jest.mock('sanity/router', () => ({
useRouter: jest.fn().mockReturnValue({state: {}, navigate: jest.fn()}),
}))

const createWrapper = async () => {
const TestProvider = await createTestProvider({
resources: [releasesUsEnglishLocaleBundle],
})
return function Wrapper({children}: {children: ReactNode}) {
return <TestProvider>{children}</TestProvider>
}
}

const mockUseBundleStore = useBundles as jest.Mock<typeof useBundles>

describe('BundlesOverview', () => {
Expand All @@ -43,7 +33,9 @@ describe('BundlesOverview', () => {
dispatch: jest.fn(),
})

const wrapper = await createWrapper()
const wrapper = await createWrapper({
resources: [releasesUsEnglishLocaleBundle],
})

return render(<BundlesOverview />, {wrapper})
})
Expand Down
2 changes: 1 addition & 1 deletion packages/sanity/test/testUtils/TestProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {studioDefaultLocaleResources} from '../../src/core/i18n/bundles/studio'
import {prepareI18n} from '../../src/core/i18n/i18nConfig'
import {getMockWorkspace} from './getMockWorkspaceFromConfig'

interface TestProviderOptions {
export interface TestProviderOptions {
config?: SingleWorkspace
client?: SanityClient
resources?: LocaleResourceBundle[]
Expand Down

0 comments on commit e31e8db

Please sign in to comment.