// eslint-disable-next-line import/no-extraneous-dependencies,
import configureStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import config from '../azure/config/mocked-configuration.json';
import onlineAccountMock from './mocks/onlineAccountMock.json';
import publicMock from './mocks/publicMock.json';
import groupAccountMock from './mocks/groupAccountMock.json';
/**
* Mock store, requied when we have connected components that consume state e.g
* device state
*/
// create any initial state needed
const environmentConfig = JSON.parse(JSON.stringify(config));
export const initialState = {
deviceState: { state: 4 },
config: { environmentConfig },
async: { actionTypes: {} },
view: { components: { header: { isFixed: false, height: 64 } } },
};
// here it is possible to pass in any middleware if needed into configureStore
const middlewares = [thunk];
export const configureStoreWithMiddleware = configureStore(middlewares);
const store = configureStoreWithMiddleware(initialState);
export const onlineMemberData = { ...initialState, ...onlineAccountMock };
export const publicData = { ...initialState, ...publicMock };
export const groupMemberData = { ...initialState, ...groupAccountMock };
export const onlineMemberMock = configureStoreWithMiddleware(onlineMemberData);
export const publicDataMock = configureStoreWithMiddleware(publicData);
export const groupMemberMock = configureStoreWithMiddleware(publicData);
export default store;