generated from wednesday-solutions/react-native-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestUtils.js
34 lines (31 loc) · 994 Bytes
/
testUtils.js
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
import React from 'react';
import { IntlProvider } from 'react-intl';
import { render } from '@testing-library/react-native';
import { Provider } from 'react-redux';
import createStore from 'app/rootReducer';
import { DEFAULT_LOCALE, translationMessages } from '@app/i18n';
import ConnectedLanguageProvider from '@atoms/LanguageProvider';
export const apiResponseGenerator = (ok, data) => ({
ok,
data
});
export const renderWithIntl = (children, renderFunction = render) =>
renderFunction(
<IntlProvider
locale={DEFAULT_LOCALE}
messages={translationMessages[DEFAULT_LOCALE]}
>
{children}
</IntlProvider>
);
export const renderProvider = children => {
const { store } = createStore();
return render(
<Provider store={store}>
<ConnectedLanguageProvider messages={translationMessages}>
{children}
</ConnectedLanguageProvider>
</Provider>
);
};
export const timeout = ms => new Promise(resolve => setTimeout(resolve, ms));