@@ -105,6 +105,67 @@ ruleTester.run(RULE_NAME, rule, {
105
105
fireEvent()
106
106
` ,
107
107
} ) ) ,
108
+ {
109
+ settings : {
110
+ 'testing-library/module' : 'test-utils' ,
111
+ } ,
112
+ code : `
113
+ import { screen } from 'test-utils'
114
+ const element = screen.getByText(foo)
115
+ ` ,
116
+ } ,
117
+ {
118
+ settings : {
119
+ 'testing-library/module' : 'test-utils' ,
120
+ } ,
121
+ code : `
122
+ import { render } from 'test-utils'
123
+ const utils = render(baz)
124
+ const element = utils.getByText(foo)
125
+ ` ,
126
+ } ,
127
+ ...UserEventMethods . map ( ( userEventMethod ) => ( {
128
+ settings : {
129
+ 'testing-library/module' : 'test-utils' ,
130
+ } ,
131
+ code : `
132
+ import userEvent from 'test-utils'
133
+ const node = document.createElement(elementType)
134
+ userEvent.${ userEventMethod } (foo)
135
+ ` ,
136
+ } ) ) ,
137
+ ...Object . keys ( MappingToUserEvent ) . map ( ( fireEventMethod : string ) => ( {
138
+ settings : {
139
+ 'testing-library/module' : 'test-utils' ,
140
+ } ,
141
+ code : `
142
+ import { fireEvent } from 'test-utils'
143
+ const node = document.createElement(elementType)
144
+ fireEvent.${ fireEventMethod } (foo)
145
+ ` ,
146
+ options : [ { allowedMethods : [ fireEventMethod ] } ] ,
147
+ } ) ) ,
148
+ ...Object . keys ( MappingToUserEvent ) . map ( ( fireEventMethod : string ) => ( {
149
+ settings : {
150
+ 'testing-library/module' : 'test-utils' ,
151
+ } ,
152
+ code : `
153
+ import { fireEvent as fireEventAliased } from 'test-utils'
154
+ const node = document.createElement(elementType)
155
+ fireEventAliased.${ fireEventMethod } (foo)
156
+ ` ,
157
+ options : [ { allowedMethods : [ fireEventMethod ] } ] ,
158
+ } ) ) ,
159
+ ...Object . keys ( MappingToUserEvent ) . map ( ( fireEventMethod : string ) => ( {
160
+ settings : {
161
+ 'testing-library/module' : 'test-utils' ,
162
+ } ,
163
+ code : `
164
+ import * as dom from 'test-utils'
165
+ dom.fireEvent.${ fireEventMethod } (foo)
166
+ ` ,
167
+ options : [ { allowedMethods : [ fireEventMethod ] } ] ,
168
+ } ) ) ,
108
169
] ,
109
170
invalid : [
110
171
...createScenarioWithImport < InvalidTestCase < MessageIds , Options > > (
@@ -130,5 +191,53 @@ ruleTester.run(RULE_NAME, rule, {
130
191
errors : [ { messageId : 'preferUserEvent' } ] ,
131
192
} )
132
193
) ,
194
+ ...createScenarioWithImport < InvalidTestCase < MessageIds , Options > > (
195
+ ( libraryModule : string , fireEventMethod : string ) => ( {
196
+ code : `
197
+ const { fireEvent } = require('${ libraryModule } ')
198
+ fireEvent.${ fireEventMethod } (foo)
199
+ ` ,
200
+ errors : [ { messageId : 'preferUserEvent' } ] ,
201
+ } )
202
+ ) ,
203
+ ...createScenarioWithImport < InvalidTestCase < MessageIds , Options > > (
204
+ ( libraryModule : string , fireEventMethod : string ) => ( {
205
+ code : `
206
+ const rtl = require('${ libraryModule } ')
207
+ rtl.fireEvent.${ fireEventMethod } (foo)
208
+ ` ,
209
+ errors : [ { messageId : 'preferUserEvent' } ] ,
210
+ } )
211
+ ) ,
212
+ ...Object . keys ( MappingToUserEvent ) . map ( ( fireEventMethod : string ) => ( {
213
+ settings : {
214
+ 'testing-library/module' : 'test-utils' ,
215
+ } ,
216
+ code : `
217
+ import * as dom from 'test-utils'
218
+ dom.fireEvent.${ fireEventMethod } (foo)
219
+ ` ,
220
+ errors : [ { messageId : 'preferUserEvent' } ] ,
221
+ } ) ) ,
222
+ ...Object . keys ( MappingToUserEvent ) . map ( ( fireEventMethod : string ) => ( {
223
+ settings : {
224
+ 'testing-library/module' : 'test-utils' ,
225
+ } ,
226
+ code : `
227
+ import { fireEvent } from 'test-utils'
228
+ fireEvent.${ fireEventMethod } (foo)
229
+ ` ,
230
+ errors : [ { messageId : 'preferUserEvent' } ] ,
231
+ } ) ) ,
232
+ ...Object . keys ( MappingToUserEvent ) . map ( ( fireEventMethod : string ) => ( {
233
+ settings : {
234
+ 'testing-library/module' : 'test-utils' ,
235
+ } ,
236
+ code : `
237
+ import { fireEvent as fireEventAliased } from 'test-utils'
238
+ fireEventAliased.${ fireEventMethod } (foo)
239
+ ` ,
240
+ errors : [ { messageId : 'preferUserEvent' } ] ,
241
+ } ) ) ,
133
242
] ,
134
243
} ) ;
0 commit comments