D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
test
/
helpers
/
Filename :
TestProvider.tsx
back
Copy
import { ToolkitStore } from '@reduxjs/toolkit/dist/configureStore'; import React from 'react'; import { Provider } from 'react-redux'; import { Router } from 'react-router-dom'; import { getGrafanaContextMock } from 'test/mocks/getGrafanaContextMock'; import { locationService } from '@grafana/runtime'; import { GrafanaContext, GrafanaContextType } from 'app/core/context/GrafanaContext'; import { configureStore } from 'app/store/configureStore'; import { StoreState } from 'app/types/store'; export interface Props { storeState?: Partial<StoreState>; store?: ToolkitStore; children: React.ReactNode; grafanaContext?: GrafanaContextType; } /** * Wrapps component in redux store provider, Router and GrafanaContext */ export function TestProvider(props: Props) { const { store = configureStore(props.storeState), children } = props; const context = { ...getGrafanaContextMock(), ...props.grafanaContext, }; return ( <Provider store={store}> <Router history={locationService.getHistory()}> <GrafanaContext.Provider value={context}>{children}</GrafanaContext.Provider> </Router> </Provider> ); }