@@ -20,6 +20,10 @@ const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2020 } });
20
20
const errors = [ { messageId : "use-to-have-value" } ] ;
21
21
ruleTester . run ( "prefer-to-have-value" , rule , {
22
22
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
+
23
27
`expect(element).toHaveValue('foo')` ,
24
28
`expect(element.value).toBeGreaterThan(2);` ,
25
29
`expect(element.value).toBeLessThan(2);` ,
@@ -34,6 +38,10 @@ ruleTester.run("prefer-to-have-value", rule, {
34
38
`const element = { value: 'foo' };
35
39
expect(element.value).toBe('foo');` ,
36
40
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
+
37
45
`const element = document.getElementById('asdfasf');
38
46
expect(element.value).not.toEqual('foo');` ,
39
47
@@ -106,118 +114,5 @@ ruleTester.run("prefer-to-have-value", rule, {
106
114
errors,
107
115
output : `const element = screen.getByRole("textbox"); expect(element).not.toHaveValue("foo");` ,
108
116
} ,
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
- } ,
222
117
] ,
223
118
} ) ;
0 commit comments