1
1
import { createRuleTester } from '../test-utils' ;
2
2
import rule , { RULE_NAME } from '../../../lib/rules/prefer-screen-queries' ;
3
- import { ALL_QUERIES_COMBINATIONS } from '../../../lib/utils' ;
3
+ import {
4
+ ALL_QUERIES_COMBINATIONS ,
5
+ ALL_QUERIES_VARIANTS ,
6
+ combineQueries ,
7
+ } from '../../../lib/utils' ;
4
8
5
9
const ruleTester = createRuleTester ( ) ;
6
10
7
- // TODO: include custom queries in test cases
11
+ const CUSTOM_QUERY_COMBINATIONS = combineQueries ( ALL_QUERIES_VARIANTS , [
12
+ 'ByIcon' ,
13
+ ] ) ;
14
+ const ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS = [
15
+ ...ALL_QUERIES_COMBINATIONS ,
16
+ ...CUSTOM_QUERY_COMBINATIONS ,
17
+ ] ;
8
18
9
19
ruleTester . run ( RULE_NAME , rule , {
10
20
valid : [
11
21
{
12
22
code : `const baz = () => 'foo'` ,
13
23
} ,
14
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
24
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
15
25
code : `screen.${ queryMethod } ()` ,
16
26
} ) ) ,
17
27
{
@@ -20,19 +30,19 @@ ruleTester.run(RULE_NAME, rule, {
20
30
{
21
31
code : `component.otherFunctionShouldNotThrow()` ,
22
32
} ,
23
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
33
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
24
34
code : `within(component).${ queryMethod } ()` ,
25
35
} ) ) ,
26
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
36
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
27
37
code : `within(screen.${ queryMethod } ()).${ queryMethod } ()` ,
28
38
} ) ) ,
29
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
39
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
30
40
code : `
31
41
const { ${ queryMethod } } = within(screen.getByText('foo'))
32
42
${ queryMethod } (baz)
33
43
` ,
34
44
} ) ) ,
35
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
45
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
36
46
code : `
37
47
const myWithinVariable = within(foo)
38
48
myWithinVariable.${ queryMethod } ('baz')
@@ -86,48 +96,62 @@ ruleTester.run(RULE_NAME, rule, {
86
96
utils.unmount();
87
97
` ,
88
98
} ,
89
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
90
- code : `
99
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
100
+ ( queryMethod : string ) => ( {
101
+ code : `
91
102
const { ${ queryMethod } } = render(baz, { baseElement: treeA })
92
103
expect(${ queryMethod } (baz)).toBeDefined()
93
104
` ,
94
- } ) ) ,
95
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
96
- code : `
105
+ } )
106
+ ) ,
107
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
108
+ ( queryMethod : string ) => ( {
109
+ code : `
97
110
const { ${ queryMethod } : aliasMethod } = render(baz, { baseElement: treeA })
98
111
expect(aliasMethod(baz)).toBeDefined()
99
112
` ,
100
- } ) ) ,
101
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
102
- code : `
113
+ } )
114
+ ) ,
115
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
116
+ ( queryMethod : string ) => ( {
117
+ code : `
103
118
const { ${ queryMethod } } = render(baz, { container: treeA })
104
119
expect(${ queryMethod } (baz)).toBeDefined()
105
120
` ,
106
- } ) ) ,
107
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
108
- code : `
121
+ } )
122
+ ) ,
123
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
124
+ ( queryMethod : string ) => ( {
125
+ code : `
109
126
const { ${ queryMethod } : aliasMethod } = render(baz, { container: treeA })
110
127
expect(aliasMethod(baz)).toBeDefined()
111
128
` ,
112
- } ) ) ,
113
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
114
- code : `
129
+ } )
130
+ ) ,
131
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
132
+ ( queryMethod : string ) => ( {
133
+ code : `
115
134
const { ${ queryMethod } } = render(baz, { baseElement: treeB, container: treeA })
116
135
expect(${ queryMethod } (baz)).toBeDefined()
117
136
` ,
118
- } ) ) ,
119
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
120
- code : `
137
+ } )
138
+ ) ,
139
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
140
+ ( queryMethod : string ) => ( {
141
+ code : `
121
142
const { ${ queryMethod } : aliasMethod } = render(baz, { baseElement: treeB, container: treeA })
122
143
expect(aliasMethod(baz)).toBeDefined()
123
144
` ,
124
- } ) ) ,
125
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod : string ) => ( {
126
- code : `
145
+ } )
146
+ ) ,
147
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map (
148
+ ( queryMethod : string ) => ( {
149
+ code : `
127
150
render(foo, { baseElement: treeA }).${ queryMethod } ()
128
151
` ,
129
- } ) ) ,
130
- // ...ALL_QUERIES_COMBINATIONS.map((queryMethod) => ({
152
+ } )
153
+ ) ,
154
+ // ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS.map((queryMethod) => ({
131
155
// settings: {
132
156
// 'testing-library/custom-renders': ['customRender'],
133
157
// },
@@ -139,7 +163,7 @@ ruleTester.run(RULE_NAME, rule, {
139
163
] ,
140
164
141
165
invalid : [
142
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
166
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
143
167
code : `
144
168
const { ${ queryMethod } } = render(foo)
145
169
${ queryMethod } ()` ,
@@ -152,7 +176,7 @@ ruleTester.run(RULE_NAME, rule, {
152
176
} ,
153
177
] ,
154
178
} ) ) ,
155
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
179
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
156
180
settings : { 'testing-library/utils-module' : 'test-utils' } ,
157
181
code : `
158
182
import { render } from 'test-utils'
@@ -170,7 +194,7 @@ ruleTester.run(RULE_NAME, rule, {
170
194
] ,
171
195
} ) ) ,
172
196
173
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
197
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
174
198
settings : {
175
199
'testing-library/custom-renders' : [ 'customRender' ] ,
176
200
} ,
@@ -189,7 +213,7 @@ ruleTester.run(RULE_NAME, rule, {
189
213
} ,
190
214
] ,
191
215
} ) ) ,
192
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
216
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
193
217
settings : { 'testing-library/utils-module' : 'test-utils' } ,
194
218
code : `
195
219
import { render as testingLibraryRender} from '@testing-library/react'
@@ -206,7 +230,7 @@ ruleTester.run(RULE_NAME, rule, {
206
230
} ,
207
231
] ,
208
232
} ) ) ,
209
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
233
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
210
234
settings : { 'testing-library/utils-module' : 'test-utils' } ,
211
235
code : `
212
236
import { render } from 'test-utils'
@@ -223,7 +247,7 @@ ruleTester.run(RULE_NAME, rule, {
223
247
} ,
224
248
] ,
225
249
} ) ) ,
226
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
250
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
227
251
code : `render().${ queryMethod } ()` ,
228
252
errors : [
229
253
{
@@ -234,7 +258,7 @@ ruleTester.run(RULE_NAME, rule, {
234
258
} ,
235
259
] ,
236
260
} ) ) ,
237
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
261
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
238
262
code : `render(foo, { hydrate: true }).${ queryMethod } ()` ,
239
263
errors : [
240
264
{
@@ -245,7 +269,7 @@ ruleTester.run(RULE_NAME, rule, {
245
269
} ,
246
270
] ,
247
271
} ) ) ,
248
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
272
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
249
273
code : `component.${ queryMethod } ()` ,
250
274
errors : [
251
275
{
@@ -256,7 +280,7 @@ ruleTester.run(RULE_NAME, rule, {
256
280
} ,
257
281
] ,
258
282
} ) ) ,
259
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
283
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
260
284
code : `
261
285
const { ${ queryMethod } } = render()
262
286
${ queryMethod } (baz)
@@ -270,7 +294,7 @@ ruleTester.run(RULE_NAME, rule, {
270
294
} ,
271
295
] ,
272
296
} ) ) ,
273
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
297
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
274
298
code : `
275
299
const myRenderVariable = render()
276
300
myRenderVariable.${ queryMethod } (baz)
@@ -284,7 +308,7 @@ ruleTester.run(RULE_NAME, rule, {
284
308
} ,
285
309
] ,
286
310
} ) ) ,
287
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
311
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
288
312
code : `
289
313
const [myVariable] = render()
290
314
myVariable.${ queryMethod } (baz)
@@ -298,7 +322,7 @@ ruleTester.run(RULE_NAME, rule, {
298
322
} ,
299
323
] ,
300
324
} ) ) ,
301
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
325
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
302
326
code : `
303
327
const { ${ queryMethod } } = render(baz, { hydrate: true })
304
328
${ queryMethod } (baz)
@@ -312,7 +336,7 @@ ruleTester.run(RULE_NAME, rule, {
312
336
} ,
313
337
] ,
314
338
} ) ) ,
315
- ...ALL_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
339
+ ...ALL_BUILTIN_AND_CUSTOM_QUERIES_COMBINATIONS . map ( ( queryMethod ) => ( {
316
340
code : `
317
341
const [myVariable] = within()
318
342
myVariable.${ queryMethod } (baz)
0 commit comments