@@ -105,6 +105,67 @@ ruleTester.run(RULE_NAME, rule, {
105105 fireEvent()
106106 ` ,
107107 } ) ) ,
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+ } ) ) ,
108169 ] ,
109170 invalid : [
110171 ...createScenarioWithImport < InvalidTestCase < MessageIds , Options > > (
@@ -130,5 +191,53 @@ ruleTester.run(RULE_NAME, rule, {
130191 errors : [ { messageId : 'preferUserEvent' } ] ,
131192 } )
132193 ) ,
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+ } ) ) ,
133242 ] ,
134243} ) ;
0 commit comments