UNPKG

sanity-plugin-media

Version:

This version of `sanity-plugin-media` is for Sanity Studio V3.

28 lines (24 loc) 1.04 kB
import {configureStore, type AnyAction, type EnhancedStore} from '@reduxjs/toolkit' import type {SanityClient} from '@sanity/client' import type {Epic} from 'redux-observable' import {createEpicMiddleware} from 'redux-observable' import {rootReducer} from '../../modules' import type {RootReducerState} from '../../modules/types' import {createTestRootState} from './rootState' export function createEpicTestStore( epic: Epic<AnyAction, AnyAction, RootReducerState, {client: SanityClient}>, mockClient: SanityClient, preloaded?: Partial<RootReducerState> ): EnhancedStore<RootReducerState, AnyAction> { const epicMiddleware = createEpicMiddleware<AnyAction, AnyAction, RootReducerState>({ dependencies: {client: mockClient} }) const store = configureStore({ reducer: rootReducer, middleware: getDefaultMiddleware => getDefaultMiddleware({serializableCheck: false, thunk: false}).concat(epicMiddleware), preloadedState: createTestRootState(preloaded) }) epicMiddleware.run(epic) return store }