-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathtest.tsx
89 lines (73 loc) · 1.95 KB
/
test.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import * as React from 'react'
import {render, fireEvent, screen, waitFor} from '.'
import * as pure from './pure'
export async function testRender() {
const page = render(<div />)
// single queries
page.getByText('foo')
page.queryByText('foo')
await page.findByText('foo')
// multiple queries
page.getAllByText('bar')
page.queryAllByText('bar')
await page.findAllByText('bar')
// helpers
const {container, rerender, debug} = page
return {container, rerender, debug}
}
export async function testPureRender() {
const page = pure.render(<div />)
// single queries
page.getByText('foo')
page.queryByText('foo')
await page.findByText('foo')
// multiple queries
page.getAllByText('bar')
page.queryAllByText('bar')
await page.findAllByText('bar')
// helpers
const {container, rerender, debug} = page
return {container, rerender, debug}
}
export function testRenderOptions() {
const container = document.createElement('div')
const options = {container}
render(<div />, options)
}
export function testSVGRenderOptions() {
const container = document.createElementNS(
'http://www.w3.org/2000/svg',
'svg',
)
const options = {container}
render(<svg />, options)
}
export function testFireEvent() {
const {container} = render(<button />)
fireEvent.click(container)
}
export function testDebug() {
const {debug, getAllByTestId} = render(
<>
<h2 data-testid="testid">Hello World</h2>
<h2 data-testid="testid">Hello World</h2>
</>,
)
debug(getAllByTestId('testid'))
}
export async function testScreen() {
render(<button />)
await screen.findByRole('button')
}
export async function testWaitFor() {
const {container} = render(<button />)
fireEvent.click(container)
await waitFor(() => {})
}
/*
eslint
testing-library/prefer-explicit-assert: "off",
testing-library/no-wait-for-empty-callback: "off",
testing-library/no-debug: "off",
testing-library/prefer-screen-queries: "off"
*/