redux-mock-store icon indicating copy to clipboard operation
redux-mock-store copied to clipboard

[Redux-toolkit] [createEntityAdapter] Cannot read property 'ids' of undefined

Open daminhtung opened this issue 5 years ago • 1 comments

Hi, I got an error when running the test. Any help or suggestions for me?

  • redux-mock-store: ^1.5.4
  • "@types/redux-mock-store": "^1.0.2",
  • "@reduxjs/toolkit": "^1.3.5",
  • "@testing-library/react-native": "^5.0.3",

Error when run testing

TypeError: Cannot read property 'ids' of undefined

  47 |   const items = useSelector((state: MyState) => {
> 48 |     return myEntityAdapter.getSelectors().selectAll(state.mystate)
        |                                         ^
  49 |   })
  50 | 

My test:

const { queryByTestId } = render(
      <Provider store={store}>
        <MenuProvider skipInstanceCheck={true}>
          <MyComponent />
        </MenuProvider>
      </Provider>
    )

mySlice.ts

...
export const myEntityAdapter = createEntityAdapter<Item>()
...

daminhtung avatar Aug 03 '20 13:08 daminhtung

Pass an state to mockStore, like this:

import configureStore from 'redux-mock-store';

import type { RootState } from '../../app/store';

const mockStore = configureStore<RootState>();
const store = mockStore({ slice: { ids: [], entities: {} } });

// Rest of the test...

leosuncin avatar Mar 08 '22 06:03 leosuncin