Как замокать запрос в базу indexedDB в react testing library/jest

У меня есть компонент который показывает спиннер пока не отработает асинхронный екшен. Но в екшене всесто обычного запроса, запрос в индексед дб базу.

useEffect внутри компонента который я тестирую

  useEffect(() => {
              dispatch(setData())
      }, [])
   
    if(isDataLoadng) {
      return <Spinner/>
    }
    
    return Component

Thunk action

import db from '../../indexedDB/db'

    export const setData = createAsyncThunk(
      `setData`,
      async (_, { getState }) => {
          const data =await db.data.toArray()
          return {data}
      }
    )

indexed db file

import Dexie from 'dexie';


const db = new Dexie("dataDB");
db.version(1).stores({
  data: 'id, name,
});

Редюсер

const initialState = {
  data: [],
  isDataLoading: true,
}
const crudSlice = createSlice({
  name: 'dataReducer',
  initialState: initialState,
  extraReducers: {
    [setData.pending]: (state) => {
      state.isDataLoading = true
    },
    [setData.fulfilled]: (state, action) => {
      state.data = action.payload.data
      state.isDataLoading = false
    },
  
  },
})

Моя попытка решить данную проблему

Test.test.js

import "fake-indexeddb/auto";
  import Dexie from "dexie";
            
   describe('Data tests', () => {
    beforeEach(async () => {
      //попытка замокать
       const db = new Dexie("dataDB");
       db.version(1).stores({ data: 'id,name'})
 
       const table1 = db.table("data");
       await table1.bulkGet([])
    
       //как замокать тут обращение в базу данных чтобы позволить асихнронному екшену выполнится?
     })

Ответы (0 шт):