1
+ jest . unmock ( '../Autocomplete' )
2
+ jest . unmock ( '../utils' )
3
+
1
4
import React from 'react'
2
- import ReactDOM from 'react-dom'
3
- import TestUtils from 'react-addons-test-utils'
4
- import jsdom from 'mocha-jsdom' ;
5
- import chai from 'chai' ;
6
- const expect = chai . expect ;
7
- import chaiEnzyme from 'chai-enzyme'
8
- import { ok , equal } from 'assert' ;
9
- import { mount , shallow } from 'enzyme' ;
5
+ import { mount } from 'enzyme' ;
10
6
import Autocomplete from '../Autocomplete' ;
11
7
import { getStates , matchStateToTerm , sortStates , styles } from '../utils'
12
8
13
- chai . use ( chaiEnzyme ( ) ) ;
14
-
15
9
function AutocompleteComponentJSX ( extraProps ) {
16
10
return (
17
11
< Autocomplete
@@ -38,31 +32,31 @@ describe('Autocomplete acceptance tests', () => {
38
32
39
33
it ( 'should display autocomplete menu when input has focus' , ( ) => {
40
34
41
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
42
- expect ( autocompleteWrapper . instance ( ) . refs . menu ) . to . not . exist ;
35
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
36
+ expect ( autocompleteWrapper . instance ( ) . refs . menu ) . toBe ( undefined ) ;
43
37
44
38
// Display autocomplete menu upon input focus
45
39
autocompleteInputWrapper . simulate ( 'focus' ) ;
46
40
47
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
48
- expect ( autocompleteWrapper . instance ( ) . refs . menu ) . to . exist ;
41
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
42
+ expect ( autocompleteWrapper . instance ( ) . refs . menu ) . not . toBe ( undefined ) ;
49
43
} ) ;
50
44
51
45
it ( 'should show results when value is a partial match' , ( ) => {
52
46
53
47
// Render autocomplete results upon partial input match
54
- expect ( autocompleteWrapper . ref ( 'menu' ) . children ( ) ) . to . have . length ( 50 ) ;
48
+ expect ( autocompleteWrapper . ref ( 'menu' ) . children ( ) . length ) . toBe ( 50 ) ;
55
49
autocompleteWrapper . setProps ( { value : 'Ar' } ) ;
56
- expect ( autocompleteWrapper . ref ( 'menu' ) . children ( ) ) . to . have . length ( 6 ) ;
50
+ expect ( autocompleteWrapper . ref ( 'menu' ) . children ( ) . length ) . toBe ( 6 ) ;
57
51
58
52
} ) ;
59
53
60
54
it ( 'should close autocomplete menu when input is blurred' , ( ) => {
61
55
62
56
autocompleteInputWrapper . simulate ( 'blur' ) ;
63
57
64
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
65
- expect ( autocompleteWrapper . instance ( ) . refs . menu ) . to . not . exist ;
58
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
59
+ expect ( autocompleteWrapper . instance ( ) . refs . menu ) . toBe ( undefined ) ;
66
60
67
61
} ) ;
68
62
@@ -84,8 +78,8 @@ describe('Autocomplete keyPress-><character> event handlers', () => {
84
78
autocompleteInputWrapper . simulate ( 'keyPress' , { key : 'a' , keyCode : 97 , which : 97 } ) ;
85
79
autocompleteInputWrapper . simulate ( 'change' ) ;
86
80
87
- expect ( autocompleteInputWrapper . get ( 0 ) . value ) . to . equal ( '' ) ;
88
- expect ( value ) . to . equal ( 'a' ) ;
81
+ expect ( autocompleteInputWrapper . get ( 0 ) . value ) . toEqual ( '' ) ;
82
+ expect ( value ) . toEqual ( 'a' ) ;
89
83
done ( ) ;
90
84
} ) ;
91
85
@@ -102,8 +96,8 @@ describe('Autocomplete kewDown->ArrowDown event handlers', () => {
102
96
103
97
autocompleteInputWrapper . simulate ( 'keyDown' , { key : "ArrowDown" , keyCode : 40 , which : 40 } ) ;
104
98
105
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
106
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . equal ( 0 ) ;
99
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
100
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toEqual ( 0 ) ;
107
101
} ) ;
108
102
109
103
it ( 'should highlight the "n+1" item in the menu when "n" is selected' , ( ) => {
@@ -116,8 +110,8 @@ describe('Autocomplete kewDown->ArrowDown event handlers', () => {
116
110
117
111
autocompleteInputWrapper . simulate ( 'keyDown' , { key : "ArrowDown" , keyCode : 40 , which : 40 } ) ;
118
112
119
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
120
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . equal ( n + 1 ) ;
113
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
114
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toEqual ( n + 1 ) ;
121
115
} ) ;
122
116
123
117
it ( 'should highlight the 1st item in the menu when the last is selected' , ( ) => {
@@ -129,8 +123,8 @@ describe('Autocomplete kewDown->ArrowDown event handlers', () => {
129
123
130
124
autocompleteInputWrapper . simulate ( 'keyDown' , { key : "ArrowDown" , keyCode : 40 , which : 40 } ) ;
131
125
132
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
133
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . equal ( 0 ) ;
126
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
127
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toEqual ( 0 ) ;
134
128
} ) ;
135
129
136
130
} ) ;
@@ -148,8 +142,8 @@ describe('Autocomplete kewDown->ArrowUp event handlers', () => {
148
142
149
143
autocompleteInputWrapper . simulate ( 'keyDown' , { key : 'ArrowUp' , keyCode : 38 , which : 38 } ) ;
150
144
151
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
152
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . equal ( 49 ) ;
145
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
146
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toEqual ( 49 ) ;
153
147
} ) ;
154
148
155
149
it ( 'should highlight the "n-1" item in the menu when "n" is selected' , ( ) => {
@@ -162,8 +156,8 @@ describe('Autocomplete kewDown->ArrowUp event handlers', () => {
162
156
163
157
autocompleteInputWrapper . simulate ( 'keyDown' , { key : 'ArrowUp' , keyCode : 38 , which : 38 } ) ;
164
158
165
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
166
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . equal ( n - 1 ) ;
159
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
160
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toEqual ( n - 1 ) ;
167
161
} ) ;
168
162
169
163
it ( 'should highlight the last item in the menu when the 1st is selected' , ( ) => {
@@ -175,8 +169,8 @@ describe('Autocomplete kewDown->ArrowUp event handlers', () => {
175
169
176
170
autocompleteInputWrapper . simulate ( 'keyDown' , { key : 'ArrowUp' , keyCode : 38 , which : 38 } ) ;
177
171
178
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . true ;
179
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . equal ( 49 ) ;
172
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( true ) ;
173
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toEqual ( 49 ) ;
180
174
} ) ;
181
175
182
176
} ) ;
@@ -189,7 +183,7 @@ describe('Autocomplete kewDown->Enter event handlers', () => {
189
183
it ( 'should do nothing if the menu is closed' , ( ) => {
190
184
autocompleteWrapper . setState ( { 'isOpen' : false } ) ;
191
185
autocompleteWrapper . simulate ( 'keyDown' , { key : 'Enter' , keyCode : 13 , which : 13 } ) ;
192
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
186
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
193
187
} ) ;
194
188
195
189
it ( 'should close menu if input has focus but no item has been selected and then the Enter key is hit' , ( ) => {
@@ -200,12 +194,12 @@ describe('Autocomplete kewDown->Enter event handlers', () => {
200
194
201
195
// simulate keyUp of backspace, triggering autocomplete suggestion on an empty string, which should result in nothing highlighted
202
196
autocompleteInputWrapper . simulate ( 'keyUp' , { key : 'Backspace' , keyCode : 8 , which : 8 } ) ;
203
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . be . null ;
197
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toBe ( null ) ;
204
198
205
199
autocompleteInputWrapper . simulate ( 'keyDown' , { key : 'Enter' , keyCode : 13 , which : 13 } ) ;
206
200
207
- expect ( value ) . to . equal ( '' ) ;
208
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
201
+ expect ( value ) . toEqual ( '' ) ;
202
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
209
203
210
204
} ) ;
211
205
@@ -221,9 +215,9 @@ describe('Autocomplete kewDown->Enter event handlers', () => {
221
215
222
216
// Hit enter, updating state.value with the selected Autocomplete suggestion
223
217
autocompleteInputWrapper . simulate ( 'keyDown' , { key : 'Enter' , keyCode : 13 , which : 13 , preventDefault ( ) { defaultPrevented = true ; } } ) ;
224
- expect ( value ) . to . equal ( 'Arizona' ) ;
225
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
226
- expect ( defaultPrevented ) . to . be . true ;
218
+ expect ( value ) . toEqual ( 'Arizona' ) ;
219
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
220
+ expect ( defaultPrevented ) . toBe ( true ) ;
227
221
228
222
} ) ;
229
223
@@ -240,8 +234,8 @@ describe('Autocomplete kewDown->Escape event handlers', () => {
240
234
241
235
autocompleteInputWrapper . simulate ( 'keyDown' , { key : 'Escape' , keyCode : 27 , which : 27 } ) ;
242
236
243
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
244
- expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . to . be . null ;
237
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
238
+ expect ( autocompleteWrapper . state ( 'highlightedIndex' ) ) . toBe ( null ) ;
245
239
} ) ;
246
240
247
241
} ) ;
@@ -265,8 +259,8 @@ describe('Autocomplete click event handlers', () => {
265
259
266
260
// Click inside input, updating state.value with the selected Autocomplete suggestion
267
261
autocompleteInputWrapper . simulate ( 'click' ) ;
268
- expect ( value ) . to . equal ( 'Arizona' ) ;
269
- expect ( autocompleteWrapper . state ( 'isOpen' ) ) . to . be . false ;
262
+ expect ( value ) . toEqual ( 'Arizona' ) ;
263
+ expect ( autocompleteWrapper . state ( 'isOpen' ) ) . toBe ( false ) ;
270
264
} ) ;
271
265
272
266
} ) ;
@@ -280,17 +274,17 @@ describe('Autocomplete#renderMenu', () => {
280
274
it ( 'should return a <div ref="menu"> ReactComponent when renderMenu() is called' , ( ) => {
281
275
//autocompleteInputWrapper.simulate('change', { target: { value: 'Ar' } });
282
276
var autocompleteMenu = autocompleteWrapper . instance ( ) . renderMenu ( ) ;
283
- expect ( autocompleteMenu . type ) . to . be . equal ( 'div' ) ;
284
- expect ( autocompleteMenu . ref ) . to . be . equal ( 'menu' ) ;
285
- expect ( autocompleteMenu . props . children . length ) . to . be . equal ( 50 ) ;
277
+ expect ( autocompleteMenu . type ) . toEqual ( 'div' ) ;
278
+ expect ( autocompleteMenu . ref ) . toEqual ( 'menu' ) ;
279
+ expect ( autocompleteMenu . props . children . length ) . toEqual ( 50 ) ;
286
280
} ) ;
287
281
288
282
it ( 'should return a menu ReactComponent with a subset of children when partial match text has been entered' , ( ) => {
289
283
// Input 'Ar' should result in 6 items in the menu, populated from autocomplete.
290
284
autocompleteWrapper . setProps ( { value : 'Ar' } ) ;
291
285
292
286
var autocompleteMenu = autocompleteWrapper . instance ( ) . renderMenu ( ) ;
293
- expect ( autocompleteMenu . props . children . length ) . to . be . equal ( 6 ) ;
287
+ expect ( autocompleteMenu . props . children . length ) . toEqual ( 6 ) ;
294
288
295
289
} ) ;
296
290
@@ -314,7 +308,7 @@ describe('Autocomplete#renderMenu', () => {
314
308
}
315
309
} ) ) ;
316
310
wrapper . setState ( { isOpen : true , highlightedIndex : 0 } ) ;
317
- expect ( wrapper . find ( Menu ) . length ) . to . equal ( 1 )
318
- expect ( wrapper . find ( Item ) . length ) . to . equal ( 50 )
311
+ expect ( wrapper . find ( Menu ) . length ) . toBe ( 1 )
312
+ expect ( wrapper . find ( Item ) . length ) . toBe ( 50 )
319
313
} ) ;
320
314
} ) ;
0 commit comments