forked from joinmarket-webui/jam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestUtils.tsx
35 lines (31 loc) · 1.24 KB
/
testUtils.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { StrictMode, ReactElement } from 'react'
import { render, RenderOptions } from '@testing-library/react'
import { I18nextProvider } from 'react-i18next'
import { WalletProvider } from './context/WalletContext'
import { ServiceInfoProvider } from './context/ServiceInfoContext'
import { ServiceConfigProvider } from './context/ServiceConfigContext'
import { SettingsProvider } from './context/SettingsContext'
import { WebsocketProvider } from './context/WebsocketContext'
import i18n from './i18n/testConfig'
const AllTheProviders = ({ children }: { children: ReactElement }) => {
return (
<StrictMode>
<I18nextProvider i18n={i18n}>
<SettingsProvider>
<WalletProvider>
<ServiceConfigProvider>
<WebsocketProvider>
<ServiceInfoProvider>{children}</ServiceInfoProvider>
</WebsocketProvider>
</ServiceConfigProvider>
</WalletProvider>
</SettingsProvider>
</I18nextProvider>
</StrictMode>
)
}
const customRender = (ui: ReactElement, options?: RenderOptions) => render(ui, { wrapper: AllTheProviders, ...options })
// re-export everything
export * from '@testing-library/react'
// override render method
export { customRender as render }