Skip to content

Commit 50849b0

Browse files
authored
Adding first iteration over TSX on new tab (testing-library#700)
* Adding first iteration over TSX on new tab * Fixing indentation * Fixing imports diff and replacing js to jsx * Changing defaultValue from js to jsx
1 parent 34ca09b commit 50849b0

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

docs/react-testing-library/setup.mdx

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ title: Setup
44
sidebar_label: Setup
55
---
66

7+
import Tabs from '@theme/Tabs'
8+
import TabItem from '@theme/TabItem'
9+
710
`React Testing Library` does not require any configuration to be used. However,
811
there are some things you can do when configuring your testing framework to
912
reduce some boilerplate. In these docs we'll demonstrate configuring Jest, but
@@ -28,12 +31,17 @@ make your test util file accessible without using relative paths.
2831
The example below sets up data providers using the [`wrapper`](api.mdx#wrapper)
2932
option to `render`.
3033

31-
```diff title="my-component.test.js"
34+
<Tabs groupId="test-utils" defaultValue="jsx" values={[ {label: 'Javascript',
35+
value: 'jsx'}, {label: 'Typescript', value: 'tsx'}, ]}>
36+
37+
<TabItem value="jsx">
38+
39+
```diff title="my-component.test.jsx"
3240
- import { render, fireEvent } from '@testing-library/react';
3341
+ import { render, fireEvent } from '../test-utils';
3442
```
3543

36-
```js title="test-utils.js"
44+
```jsx title="test-utils.jsx"
3745
import React from 'react'
3846
import { render } from '@testing-library/react'
3947
import { ThemeProvider } from 'my-ui-lib'
@@ -60,6 +68,46 @@ export * from '@testing-library/react'
6068
export { customRender as render }
6169
```
6270

71+
</TabItem>
72+
73+
<TabItem value="tsx">
74+
75+
```diff title="my-component.test.tsx"
76+
- import { render, fireEvent } from '@testing-library/react';
77+
+ import { render, fireEvent } from '../test-utils';
78+
```
79+
80+
```tsx title="test-utils.tsx"
81+
import React, { FC } from 'react'
82+
import { render } from '@testing-library/react'
83+
import { ThemeProvider } from 'my-ui-lib'
84+
import { TranslationProvider } from 'my-i18n-lib'
85+
import defaultStrings from 'i18n/en-x-default'
86+
87+
const AllTheProviders: FC = ({ children }) => {
88+
return (
89+
<ThemeProvider theme="light">
90+
<TranslationProvider messages={defaultStrings}>
91+
{children}
92+
</TranslationProvider>
93+
</ThemeProvider>
94+
)
95+
}
96+
97+
const customRender = (
98+
ui: ReactElement,
99+
options?: Omit<RenderOptions, 'queries'>
100+
) => render(ui, { wrapper: AllTheProviders, ...options })
101+
102+
export * from '@testing-library/react'
103+
104+
export { customRender as render }
105+
```
106+
107+
</TabItem>
108+
109+
</Tabs>
110+
63111
> **Note**
64112
>
65113
> Babel versions lower than 7 throw an error when trying to override the named

0 commit comments

Comments
 (0)