From a88f613da7e5567dbfdebd7df94f94507c47c6b5 Mon Sep 17 00:00:00 2001 From: Michael Hunteman Date: Fri, 27 Sep 2024 08:43:02 -0700 Subject: Add vitests --- client/src/store.ts | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) (limited to 'client/src/store.ts') diff --git a/client/src/store.ts b/client/src/store.ts index 4814868..e28bace 100644 --- a/client/src/store.ts +++ b/client/src/store.ts @@ -1,22 +1,31 @@ -import { configureStore } from '@reduxjs/toolkit'; +import { combineReducers, configureStore } from '@reduxjs/toolkit'; import guestReducer from './slices/auth/guestSlice'; import adminReducer from './slices/auth/adminSlice'; import snackbarReducer from './slices/snackbarSlice'; import { guestSlice } from './slices/api/guestSlice'; import { adminSlice } from './slices/api/adminSlice'; -const store = configureStore({ - reducer: { - [guestSlice.reducerPath]: guestSlice.reducer, - [adminSlice.reducerPath]: adminSlice.reducer, - guest: guestReducer, - admin: adminReducer, - snackbar: snackbarReducer, - }, - middleware: (getDefaultMiddleware) => - getDefaultMiddleware().concat(guestSlice.middleware, adminSlice.middleware), +const rootReducer = combineReducers({ + [guestSlice.reducerPath]: guestSlice.reducer, + [adminSlice.reducerPath]: adminSlice.reducer, + guest: guestReducer, + admin: adminReducer, + snackbar: snackbarReducer, }); -export default store; -export type RootState = ReturnType; -export type AppDispatch = typeof store.dispatch; +const setupStore = (preloadedState?: Partial) => { + return configureStore({ + reducer: rootReducer, + middleware: (getDefaultMiddleware) => + getDefaultMiddleware().concat( + guestSlice.middleware, + adminSlice.middleware + ), + preloadedState, + }); +}; + +export default setupStore; +export type RootState = ReturnType; +export type AppStore = ReturnType; +export type AppDispatch = AppStore['dispatch']; -- cgit v1.2.3