@@ -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 } (function() {
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