diff --git a/packages/sanity/src/core/form/studio/FormBuilderInputErrorBoundary.test.tsx b/packages/sanity/src/core/form/studio/FormBuilderInputErrorBoundary.test.tsx index dfb64748038..84b718a2660 100644 --- a/packages/sanity/src/core/form/studio/FormBuilderInputErrorBoundary.test.tsx +++ b/packages/sanity/src/core/form/studio/FormBuilderInputErrorBoundary.test.tsx @@ -1,24 +1,15 @@ import {beforeAll, describe, expect, it, jest} from '@jest/globals' -import {studioTheme, ThemeProvider} from '@sanity/ui' import {render, screen} from '@testing-library/react' +import {type SanityClient} from 'sanity' -import {LocaleProviderBase} from '../../i18n/components/LocaleProvider' -import {prepareI18n} from '../../i18n/i18nConfig' -import {usEnglishLocale} from '../../i18n/locales' -import {useSource} from '../../studio/source' +import {createMockSanityClient} from '../../../../test/mocks/mockSanityClient' +import {createTestProvider} from '../../../../test/testUtils/TestProvider' import {FormBuilderInputErrorBoundary} from './FormBuilderInputErrorBoundary' -// Mock dependencies -jest.mock('../../studio/source', () => ({ - useSource: jest.fn(), -})) - jest.mock('use-hot-module-reload', () => ({ useHotModuleReload: jest.fn(), })) -const useSourceMock = useSource as jest.Mock - describe('FormBuilderInputErrorBoundary', () => { beforeAll(() => { jest.clearAllMocks() @@ -36,32 +27,29 @@ describe('FormBuilderInputErrorBoundary', () => { it('calls onStudioError when an error is caught', async () => { const onStudioError = jest.fn() - useSourceMock.mockReturnValue({onStudioError}) const ThrowErrorComponent = () => { throw new Error('An EXPECTED, testing error occurred!') } - const locales = [usEnglishLocale] - const {i18next} = prepareI18n({ - projectId: 'test', - dataset: 'test', - name: 'test', + const client = createMockSanityClient() as unknown as SanityClient + + const TestProvider = await createTestProvider({ + client, + config: { + name: 'default', + projectId: 'test', + dataset: 'test', + onStudioError, + }, }) render( - - - - - - - , + + + + + , ) expect(onStudioError).toHaveBeenCalledTimes(1) diff --git a/packages/sanity/src/core/studio/workspaceLoader/WorkspaceRouterProvider.test.tsx b/packages/sanity/src/core/studio/workspaceLoader/WorkspaceRouterProvider.test.tsx index c4635f1efe9..0c9cb018ef0 100644 --- a/packages/sanity/src/core/studio/workspaceLoader/WorkspaceRouterProvider.test.tsx +++ b/packages/sanity/src/core/studio/workspaceLoader/WorkspaceRouterProvider.test.tsx @@ -1,10 +1,10 @@ import {describe, expect, it, jest} from '@jest/globals' -import {ErrorBoundary, studioTheme, ThemeProvider} from '@sanity/ui' +import {ErrorBoundary} from '@sanity/ui' import {render, screen} from '@testing-library/react' +import {type SanityClient} from 'sanity' -import {LocaleProviderBase, usEnglishLocale} from '../../i18n' -import {prepareI18n} from '../../i18n/i18nConfig' -import {useSource} from '../source' +import {createMockSanityClient} from '../../../../test/mocks/mockSanityClient' +import {createTestProvider} from '../../../../test/testUtils/TestProvider' import {WorkspaceRouterProvider} from './WorkspaceRouterProvider' jest.mock('../router/RouterHistoryContext', () => ({ @@ -14,10 +14,6 @@ jest.mock('../router/RouterHistoryContext', () => ({ }), })) -jest.mock('../source', () => ({ - useSource: jest.fn(), -})) - jest.mock('../router', () => ({ createRouter: () => ({ getBasePath: jest.fn(), @@ -36,8 +32,6 @@ jest.mock('./WorkspaceRouterProvider', () => ({ useRouterFromWorkspaceHistory: jest.fn(), })) -const useSourceMock = useSource as jest.Mock - describe('WorkspaceRouterProvider', () => { const LoadingComponent = () =>
Loading...
const children =
Children
@@ -76,37 +70,34 @@ describe('WorkspaceRouterProvider', () => { expect(screen.getByText('Children')).toBeInTheDocument() }) - it('calls onStudioError when an error is caught', () => { + it('calls onStudioError when an error is caught', async () => { const onStudioError = jest.fn() - useSourceMock.mockReturnValue({onStudioError}) const ThrowErrorComponent = () => { throw new Error('An EXPECTED, testing error occurred!') } - const locales = [usEnglishLocale] - const {i18next} = prepareI18n({ - projectId: 'test', - dataset: 'test', - name: 'test', + const client = createMockSanityClient() as unknown as SanityClient + + const TestProvider = await createTestProvider({ + client, + config: { + name: 'default', + projectId: 'test', + dataset: 'test', + onStudioError, + }, }) render( - - - {/* prevents thrown error from breaking the test */} - <>}> - - - - - - , + + {/* prevents thrown error from breaking the test */} + <>}> + + + + + , ) expect(onStudioError).toHaveBeenCalledTimes(1)