@@ -20,6 +20,10 @@ const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2020 } });
2020const errors = [ { messageId : "use-to-have-value" } ] ;
2121ruleTester . run ( "prefer-to-have-value" , rule , {
2222 valid : [
23+ `expect(screen.getByRole("radio").value).toEqual("foo")` ,
24+ `expect(screen.queryAllByRole("checkbox")[0].value).toStrictEqual("foo")` ,
25+ `async function x() { expect((await screen.findByRole("button")).value).toBe("foo") }` ,
26+
2327 `expect(element).toHaveValue('foo')` ,
2428 `expect(element.value).toBeGreaterThan(2);` ,
2529 `expect(element.value).toBeLessThan(2);` ,
@@ -34,6 +38,10 @@ ruleTester.run("prefer-to-have-value", rule, {
3438 `const element = { value: 'foo' };
3539 expect(element.value).toBe('foo');` ,
3640
41+ `expect(screen.getByRole("radio").value).not.toEqual("foo")` ,
42+ `expect(screen.queryAllByRole("checkbox")[0].value).not.toStrictEqual("foo")` ,
43+ `async function x() { expect((await screen.findByRole("button")).value).not.toBe("foo") }` ,
44+
3745 `const element = document.getElementById('asdfasf');
3846 expect(element.value).not.toEqual('foo');` ,
3947
@@ -106,118 +114,5 @@ ruleTester.run("prefer-to-have-value", rule, {
106114 errors,
107115 output : `const element = screen.getByRole("textbox"); expect(element).not.toHaveValue("foo");` ,
108116 } ,
109- //==========================================================================
110- {
111- code : `expect(screen.getByTestId('bananas').value).toEqual('foo')` ,
112- errors : [
113- {
114- ...errors [ 0 ] ,
115- suggestions : [
116- {
117- desc : "Replace toEqual with toHaveValue" ,
118- output : `expect(screen.getByTestId('bananas')).toHaveValue('foo')` ,
119- } ,
120- ] ,
121- } ,
122- ] ,
123- } ,
124- {
125- code : `expect(screen.queryByTestId('bananas').value).toBe('foo')` ,
126- errors : [
127- {
128- ...errors [ 0 ] ,
129- suggestions : [
130- {
131- desc : "Replace toBe with toHaveValue" ,
132- output : `expect(screen.queryByTestId('bananas')).toHaveValue('foo')` ,
133- } ,
134- ] ,
135- } ,
136- ] ,
137- } ,
138- {
139- code : `async function x() { expect((await screen.findByTestId("bananas")).value).toStrictEqual("foo") }` ,
140- errors : [
141- {
142- ...errors [ 0 ] ,
143- suggestions : [
144- {
145- desc : "Replace toStrictEqual with toHaveValue" ,
146- output : `async function x() { expect((await screen.findByTestId("bananas"))).toHaveValue("foo") }` ,
147- } ,
148- ] ,
149- } ,
150- ] ,
151- } ,
152- {
153- code : `let element; element = screen.getByTestId('bananas'); expect(element.value).toEqual('foo');` ,
154- errors : [
155- {
156- ...errors [ 0 ] ,
157- suggestions : [
158- {
159- desc : "Replace toEqual with toHaveValue" ,
160- output : `let element; element = screen.getByTestId('bananas'); expect(element).toHaveValue('foo');` ,
161- } ,
162- ] ,
163- } ,
164- ] ,
165- } ,
166- {
167- code : `expect(screen.getByTestId('bananas').value).not.toEqual('foo')` ,
168- errors : [
169- {
170- ...errors [ 0 ] ,
171- suggestions : [
172- {
173- desc : "Replace toEqual with toHaveValue" ,
174- output : `expect(screen.getByTestId('bananas')).not.toHaveValue('foo')` ,
175- } ,
176- ] ,
177- } ,
178- ] ,
179- } ,
180- {
181- code : `expect(screen.queryByTestId('bananas').value).not.toBe('foo')` ,
182- errors : [
183- {
184- ...errors [ 0 ] ,
185- suggestions : [
186- {
187- desc : "Replace toBe with toHaveValue" ,
188- output : `expect(screen.queryByTestId('bananas')).not.toHaveValue('foo')` ,
189- } ,
190- ] ,
191- } ,
192- ] ,
193- } ,
194- {
195- code : `async function x() { expect((await screen.findByTestId("bananas")).value).not.toStrictEqual("foo") }` ,
196- errors : [
197- {
198- ...errors [ 0 ] ,
199- suggestions : [
200- {
201- desc : "Replace toStrictEqual with toHaveValue" ,
202- output : `async function x() { expect((await screen.findByTestId("bananas"))).not.toHaveValue("foo") }` ,
203- } ,
204- ] ,
205- } ,
206- ] ,
207- } ,
208- {
209- code : `let element; element = screen.getByTestId('bananas'); expect(element.value).not.toEqual('foo');` ,
210- errors : [
211- {
212- ...errors [ 0 ] ,
213- suggestions : [
214- {
215- desc : "Replace toEqual with toHaveValue" ,
216- output : `let element; element = screen.getByTestId('bananas'); expect(element).not.toHaveValue('foo');` ,
217- } ,
218- ] ,
219- } ,
220- ] ,
221- } ,
222117 ] ,
223118} ) ;
0 commit comments