@@ -12,6 +12,7 @@ ruleTester.run(RULE_NAME, rule, {
1212  valid : [ 
1313    { 
1414      code : ` 
15+         import { render } from '@testing-library/foo'; 
1516        it('Test', () => { 
1617          render(<Component/>) 
1718        }) 
@@ -20,6 +21,7 @@ ruleTester.run(RULE_NAME, rule, {
2021    // test config options 
2122    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
2223      code : ` 
24+         import { renderWithRedux } from '../test-utils'; 
2325        ${ setupHook }  
2426          renderWithRedux(<Component/>) 
2527        }) 
@@ -31,19 +33,44 @@ ruleTester.run(RULE_NAME, rule, {
3133        } , 
3234      ] , 
3335    } ) ) , 
34-     // // test usage of a non-Testing Library render fn 
35-     // ...TESTING_FRAMEWORK_SETUP_HOOKS.map(setupHook => ({ 
36-     //   code: `import { render } from 'imNoTestingLibrary'; 
37- 
38-     //   ${setupHook}(() => { 
39-     //     render(<Component/>) 
40-     //   })`, 
41-     // })), 
36+     // test usage of a non-Testing Library render fn 
37+     ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
38+       code : ` 
39+         import { render } from 'imNoTestingLibrary'; 
40+         ${ setupHook }  
41+           render(<Component/>) 
42+         }) 
43+       ` , 
44+     } ) ) , 
45+     ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( allowedSetupHook  =>  { 
46+       const  [ disallowedHook ]  =  TESTING_FRAMEWORK_SETUP_HOOKS . filter ( 
47+         setupHook  =>  setupHook  !==  allowedSetupHook 
48+       ) ; 
49+       return  { 
50+         code : ` 
51+           import utils from 'imNoTestingLibrary'; 
52+           import { renderWithRedux } from '../test-utils'; 
53+           ${ allowedSetupHook }  
54+             renderWithRedux(<Component/>) 
55+           }) 
56+           ${ disallowedHook }  
57+             utils.render(<Component/>) 
58+           }) 
59+         ` , 
60+         options : [ 
61+           { 
62+             allowTestingFrameworkSetupHook : allowedSetupHook , 
63+             renderFunctions : [ 'renderWithRedux' ] , 
64+           } , 
65+         ] , 
66+       } ; 
67+     } ) , 
4268  ] , 
4369
4470  invalid : [ 
4571    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
4672      code : ` 
73+         import { render } from '@testing-library/foo'; 
4774        ${ setupHook }  
4875          render(<Component/>) 
4976        }) 
@@ -56,6 +83,7 @@ ruleTester.run(RULE_NAME, rule, {
5683    } ) ) , 
5784    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
5885      code : ` 
86+         import { render } from '@testing-library/foo'; 
5987        ${ setupHook }  
6088          render(<Component/>) 
6189        }) 
@@ -69,6 +97,7 @@ ruleTester.run(RULE_NAME, rule, {
6997    // custom render function 
7098    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
7199      code : ` 
100+         import { renderWithRedux } from '../test-utils'; 
72101        ${ setupHook }  
73102          renderWithRedux(<Component/>) 
74103        }) 
@@ -87,6 +116,7 @@ ruleTester.run(RULE_NAME, rule, {
87116    // call render within a wrapper function 
88117    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
89118      code : ` 
119+       import { render } from '@testing-library/foo'; 
90120        ${ setupHook }  
91121          const wrapper = () => { 
92122            render(<Component/>) 
@@ -106,10 +136,11 @@ ruleTester.run(RULE_NAME, rule, {
106136      ) ; 
107137      return  { 
108138        code : ` 
109-         ${ disallowedHook }  
110-           render(<Component/>) 
111-         }) 
112-       ` , 
139+           import { render } from '@testing-library/foo'; 
140+           ${ disallowedHook }  
141+             render(<Component/>) 
142+           }) 
143+         ` , 
113144        options : [ 
114145          { 
115146            allowTestingFrameworkSetupHook : allowedSetupHook , 
@@ -123,46 +154,48 @@ ruleTester.run(RULE_NAME, rule, {
123154      } ; 
124155    } ) , 
125156    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
126-       code : `import { render } from '@testing-library/foo'; 
127- 
128-       ${ setupHook }  
129-         render(<Component/>) 
130-       })` , 
157+       code : ` 
158+         import * as testingLibrary from '@testing-library/foo'; 
159+         ${ setupHook }  
160+           testingLibrary.render(<Component/>) 
161+         }) 
162+       ` , 
131163      errors : [ 
132164        { 
133165          messageId : 'noRenderInSetup' , 
134166        } , 
135167      ] , 
136168    } ) ) , 
137169    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
138-       code : `import * as testingLibrary from '@testing-library/foo'; 
139- 
140-       ${ setupHook }  
141-         testingLibrary.render(<Component/>) 
142-       })` , 
170+       code : ` 
171+         import { render } from 'imNoTestingLibrary'; 
172+         import * as testUtils from '../test-utils'; 
173+         ${ setupHook }  
174+           testUtils.renderWithRedux(<Component/>) 
175+         }) 
176+         it('Test', () => { 
177+           render(<Component/>) 
178+         }) 
179+       ` , 
180+       options : [ 
181+         { 
182+           renderFunctions : [ 'renderWithRedux' ] , 
183+         } , 
184+       ] , 
143185      errors : [ 
144186        { 
145187          messageId : 'noRenderInSetup' , 
146188        } , 
147189      ] , 
148190    } ) ) , 
149191    ...TESTING_FRAMEWORK_SETUP_HOOKS . map ( setupHook  =>  ( { 
150-       code : `import { render } from 'imNoTestingLibrary'; 
151-       import * as testUtils from '../utils'; 
152- 
153-       ${ setupHook }  
154-         testUtils.renderWithRedux(<Component/>) 
155-       }) 
192+       code : ` 
193+         const { render } = require('@testing-library/foo') 
156194
157-       it('Test',  () => { 
158-         render(<Component/>) 
159-       }) 
195+          ${ setupHook } ( () => { 
196+            render(<Component/>) 
197+          }) 
160198      ` , 
161-       options : [ 
162-         { 
163-           renderFunctions : [ 'renderWithRedux' ] , 
164-         } , 
165-       ] , 
166199      errors : [ 
167200        { 
168201          messageId : 'noRenderInSetup' , 
0 commit comments