jam/src/testUtils.tsx
Thebora Kompanioni 90932ddabf
Fetch config values only once per wallet session (#299)
* dev: add ServiceConfigContext

* fix: load config values if absent

* dev: only load config vals when needed

* dev: reset service config ref if wallet changed

* dev: export useLoadConfigValue method of config context

* refactor: extract fetch method from ServiceConfigContext
2022-06-02 14:18:41 +02:00

41 lines
1.4 KiB
TypeScript

import React from 'react'
import { render, RenderOptions } from '@testing-library/react'
import { BrowserRouter } from 'react-router-dom'
import { I18nextProvider } from 'react-i18next'
import { WalletProvider } from './context/WalletContext'
import { ServiceInfoProvider } from './context/ServiceInfoContext'
import { ServiceConfigProvider } from './context/ServiceConfigContext'
// @ts-ignore
import { SettingsProvider } from './context/SettingsContext'
// @ts-ignore
import { WebsocketProvider } from './context/WebsocketContext'
import i18n from './i18n/testConfig'
const AllTheProviders = ({ children }: { children: React.ReactElement }) => {
return (
<React.StrictMode>
<BrowserRouter>
<I18nextProvider i18n={i18n}>
<SettingsProvider>
<WalletProvider>
<ServiceConfigProvider>
<WebsocketProvider>
<ServiceInfoProvider>{children}</ServiceInfoProvider>
</WebsocketProvider>
</ServiceConfigProvider>
</WalletProvider>
</SettingsProvider>
</I18nextProvider>
</BrowserRouter>
</React.StrictMode>
)
}
const customRender = (ui: React.ReactElement, options?: RenderOptions) =>
render(ui, { wrapper: AllTheProviders, ...options })
// re-export everything
export * from '@testing-library/react'
// override render method
export { customRender as render }