From de939b815d9c550bc6f91106ce21996fedcb8928 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tadeusz=20Miesi=C4=85c?= <tadeusz.miesiac@gmail.com>
Date: Tue, 3 Oct 2023 03:53:49 +0400
Subject: [PATCH] feat(utils for creating store for tests): created utility
 function to create store using reducer

---
 .../createStoreInstanceUsingSliceReducer.ts   | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 src/utils/createStoreInstanceUsingSliceReducer.ts

diff --git a/src/utils/createStoreInstanceUsingSliceReducer.ts b/src/utils/createStoreInstanceUsingSliceReducer.ts
new file mode 100644
index 00000000..d8cbc2a7
--- /dev/null
+++ b/src/utils/createStoreInstanceUsingSliceReducer.ts
@@ -0,0 +1,30 @@
+import { AnyAction, Reducer, ThunkMiddleware, configureStore } from '@reduxjs/toolkit';
+import { ToolkitStore } from '@reduxjs/toolkit/dist/configureStore';
+
+export type ToolkitStoreWithSingleSlice<StateType> = ToolkitStore<
+  { [name: string]: StateType },
+  AnyAction,
+  [
+    ThunkMiddleware<
+      {
+        [name: string]: StateType;
+      },
+      AnyAction
+    >,
+  ]
+>;
+
+export type CreateStoreInstanceUsingSliceReducer = <StateType>(
+  name: string,
+  passedReducer: Reducer<StateType>,
+) => ToolkitStoreWithSingleSlice<StateType>;
+
+export const createStoreInstanceUsingSliceReducer: CreateStoreInstanceUsingSliceReducer = (
+  name,
+  passedReducer,
+) =>
+  configureStore({
+    reducer: {
+      [name]: passedReducer,
+    },
+  });
-- 
GitLab