vue-instantsearch 4.17.3 → 4.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/src/components/__tests__/RangeInput.js +0 -317
- package/vue2/cjs/index.js +1 -1
- package/vue2/es/package.json.js +1 -1
- package/vue2/umd/index.js +1 -1
- package/vue2/umd/index.js.map +1 -1
- package/vue3/cjs/index.js +1 -1
- package/vue3/es/package.json.js +1 -1
- package/vue3/umd/index.js +1 -1
- package/vue3/umd/index.js.map +1 -1
- package/src/components/__tests__/__snapshots__/RangeInput.js.snap +0 -133
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"autocomplete"
|
|
17
17
|
],
|
|
18
18
|
"license": "MIT",
|
|
19
|
-
"version": "4.17.
|
|
19
|
+
"version": "4.17.4",
|
|
20
20
|
"files": [
|
|
21
21
|
"vue2",
|
|
22
22
|
"vue3",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"watch:es": "yarn --silent build --watch"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"instantsearch-ui-components": "0.
|
|
40
|
-
"instantsearch.js": "4.
|
|
39
|
+
"instantsearch-ui-components": "0.7.0",
|
|
40
|
+
"instantsearch.js": "4.72.0",
|
|
41
41
|
"mitt": "^2.1.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"@vue/test-utils": "1.3.0",
|
|
63
63
|
"@vue/test-utils2": "npm:@vue/test-utils@2.0.0-rc.11",
|
|
64
64
|
"algoliasearch": "4.23.2",
|
|
65
|
-
"algoliasearch-helper": "3.
|
|
65
|
+
"algoliasearch-helper": "3.22.0",
|
|
66
66
|
"instantsearch.css": "8.2.1",
|
|
67
67
|
"rollup": "1.32.1",
|
|
68
68
|
"rollup-plugin-babel": "4.4.0",
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
"vuex": "3.5.1",
|
|
90
90
|
"vuex4": "npm:vuex@4.0.0"
|
|
91
91
|
},
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "0b125d8a3fb2a5905aea9b6b540e07ab91649215"
|
|
93
93
|
}
|
|
@@ -26,233 +26,6 @@ const defaultProps = {
|
|
|
26
26
|
attribute: 'price',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
it('accepts an attribute prop', () => {
|
|
30
|
-
__setState({
|
|
31
|
-
...defaultState,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const wrapper = mount(RangeInput, {
|
|
35
|
-
propsData: {
|
|
36
|
-
...defaultProps,
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
expect(wrapper.vm.widgetParams.attribute).toBe('price');
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('accepts a min prop', () => {
|
|
44
|
-
__setState({
|
|
45
|
-
...defaultState,
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
const wrapper = mount(RangeInput, {
|
|
49
|
-
propsData: {
|
|
50
|
-
...defaultProps,
|
|
51
|
-
min: 10,
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
expect(wrapper.vm.widgetParams.min).toBe(10);
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
it('accepts a max prop', () => {
|
|
59
|
-
__setState({
|
|
60
|
-
...defaultState,
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
const wrapper = mount(RangeInput, {
|
|
64
|
-
propsData: {
|
|
65
|
-
...defaultProps,
|
|
66
|
-
max: 500,
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
expect(wrapper.vm.widgetParams.max).toBe(500);
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
it('accepts a precision prop', () => {
|
|
74
|
-
__setState({
|
|
75
|
-
...defaultState,
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
const wrapper = mount(RangeInput, {
|
|
79
|
-
propsData: {
|
|
80
|
-
...defaultProps,
|
|
81
|
-
precision: 3,
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
expect(wrapper.vm.widgetParams.precision).toBe(3);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
describe('rendering', () => {
|
|
89
|
-
it('displays correctly with default', () => {
|
|
90
|
-
__setState({
|
|
91
|
-
...defaultState,
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
const wrapper = mount(RangeInput, {
|
|
95
|
-
propsData: defaultProps,
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
it('displays correctly with a min', () => {
|
|
102
|
-
__setState({
|
|
103
|
-
...defaultState,
|
|
104
|
-
range: {
|
|
105
|
-
...defaultRange,
|
|
106
|
-
min: 100,
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
const wrapper = mount(RangeInput, {
|
|
111
|
-
propsData: {
|
|
112
|
-
...defaultProps,
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it('displays correctly with a max', () => {
|
|
120
|
-
__setState({
|
|
121
|
-
...defaultState,
|
|
122
|
-
range: {
|
|
123
|
-
...defaultRange,
|
|
124
|
-
max: 100,
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
const wrapper = mount(RangeInput, {
|
|
129
|
-
propsData: {
|
|
130
|
-
...defaultProps,
|
|
131
|
-
},
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it('displays correctly with a min and a max', () => {
|
|
138
|
-
__setState({
|
|
139
|
-
...defaultState,
|
|
140
|
-
range: {
|
|
141
|
-
min: 10,
|
|
142
|
-
max: 37,
|
|
143
|
-
},
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
const wrapper = mount(RangeInput, {
|
|
147
|
-
propsData: {
|
|
148
|
-
...defaultProps,
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
it('displays correctly with a min refinement', () => {
|
|
156
|
-
__setState({
|
|
157
|
-
...defaultState,
|
|
158
|
-
start: [10, 500],
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
const wrapper = mount(RangeInput, {
|
|
162
|
-
propsData: {
|
|
163
|
-
...defaultProps,
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
expect(wrapper.find('.ais-RangeInput-input--min').element.value).toBe('10');
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
it('displays correctly with a min refinement equal -Infinity', () => {
|
|
171
|
-
__setState({
|
|
172
|
-
...defaultState,
|
|
173
|
-
start: [-Infinity, 500],
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
const wrapper = mount(RangeInput, {
|
|
177
|
-
propsData: {
|
|
178
|
-
...defaultProps,
|
|
179
|
-
},
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
expect(wrapper.find('.ais-RangeInput-input--min').element.value).toBe('');
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
it('displays correctly with a min refinement equal to min range', () => {
|
|
186
|
-
__setState({
|
|
187
|
-
...defaultState,
|
|
188
|
-
start: [10, 500],
|
|
189
|
-
range: {
|
|
190
|
-
...defaultRange,
|
|
191
|
-
min: 10,
|
|
192
|
-
},
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
const wrapper = mount(RangeInput, {
|
|
196
|
-
propsData: {
|
|
197
|
-
...defaultProps,
|
|
198
|
-
},
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
expect(wrapper.find('.ais-RangeInput-input--min').element.value).toBe('');
|
|
202
|
-
});
|
|
203
|
-
|
|
204
|
-
it('displays correctly with a max refinement', () => {
|
|
205
|
-
__setState({
|
|
206
|
-
...defaultState,
|
|
207
|
-
start: [10, 500],
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
const wrapper = mount(RangeInput, {
|
|
211
|
-
propsData: {
|
|
212
|
-
...defaultProps,
|
|
213
|
-
},
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
expect(wrapper.find('.ais-RangeInput-input--max').element.value).toBe(
|
|
217
|
-
'500'
|
|
218
|
-
);
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
it('displays correctly with a max refinement equal Infinity', () => {
|
|
222
|
-
__setState({
|
|
223
|
-
...defaultState,
|
|
224
|
-
start: [10, Infinity],
|
|
225
|
-
});
|
|
226
|
-
|
|
227
|
-
const wrapper = mount(RangeInput, {
|
|
228
|
-
propsData: {
|
|
229
|
-
...defaultProps,
|
|
230
|
-
},
|
|
231
|
-
});
|
|
232
|
-
|
|
233
|
-
expect(wrapper.find('.ais-RangeInput-input--max').element.value).toBe('');
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
it('displays correctly with a max refinement equal to max range', () => {
|
|
237
|
-
__setState({
|
|
238
|
-
...defaultState,
|
|
239
|
-
start: [10, 500],
|
|
240
|
-
range: {
|
|
241
|
-
...defaultRange,
|
|
242
|
-
max: 500,
|
|
243
|
-
},
|
|
244
|
-
});
|
|
245
|
-
|
|
246
|
-
const wrapper = mount(RangeInput, {
|
|
247
|
-
propsData: {
|
|
248
|
-
...defaultProps,
|
|
249
|
-
},
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
expect(wrapper.find('.ais-RangeInput-input--max').element.value).toBe('');
|
|
253
|
-
});
|
|
254
|
-
});
|
|
255
|
-
|
|
256
29
|
it('exposes send-event method for insights middleware', async () => {
|
|
257
30
|
const sendEvent = jest.fn();
|
|
258
31
|
__setState({
|
|
@@ -279,93 +52,3 @@ it('exposes send-event method for insights middleware', async () => {
|
|
|
279
52
|
await wrapper.find('button').trigger('click');
|
|
280
53
|
expect(sendEvent).toHaveBeenCalledTimes(1);
|
|
281
54
|
});
|
|
282
|
-
|
|
283
|
-
describe('refinement', () => {
|
|
284
|
-
it('uses the value of the inputs when the form is submited', async () => {
|
|
285
|
-
const refine = jest.fn();
|
|
286
|
-
|
|
287
|
-
__setState({
|
|
288
|
-
...defaultState,
|
|
289
|
-
refine,
|
|
290
|
-
});
|
|
291
|
-
|
|
292
|
-
const wrapper = mount(RangeInput, {
|
|
293
|
-
propsData: {
|
|
294
|
-
attribute: 'price',
|
|
295
|
-
},
|
|
296
|
-
});
|
|
297
|
-
|
|
298
|
-
const minInput = wrapper.find('.ais-RangeInput-input--min');
|
|
299
|
-
minInput.element.value = 100;
|
|
300
|
-
await minInput.trigger('change');
|
|
301
|
-
|
|
302
|
-
const maxInput = wrapper.find('.ais-RangeInput-input--max');
|
|
303
|
-
maxInput.element.value = 106;
|
|
304
|
-
await maxInput.trigger('change');
|
|
305
|
-
|
|
306
|
-
const form = wrapper.find('form');
|
|
307
|
-
await form.trigger('submit');
|
|
308
|
-
|
|
309
|
-
expect(refine).toHaveBeenLastCalledWith(['100', '106']);
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
it('refines correctly when `start` given and user clicks submit without changing input field', async () => {
|
|
313
|
-
const refine = jest.fn();
|
|
314
|
-
__setState({
|
|
315
|
-
refine,
|
|
316
|
-
start: [50, 100],
|
|
317
|
-
range: {
|
|
318
|
-
min: 1,
|
|
319
|
-
max: 5000,
|
|
320
|
-
},
|
|
321
|
-
});
|
|
322
|
-
|
|
323
|
-
const wrapper = mount(RangeInput, {
|
|
324
|
-
propsData: {
|
|
325
|
-
...defaultProps,
|
|
326
|
-
},
|
|
327
|
-
});
|
|
328
|
-
|
|
329
|
-
const form = wrapper.find('form');
|
|
330
|
-
await form.trigger('submit');
|
|
331
|
-
|
|
332
|
-
expect(refine).toHaveBeenCalledTimes(1);
|
|
333
|
-
expect(refine).toHaveBeenCalledWith([50, 100]);
|
|
334
|
-
});
|
|
335
|
-
|
|
336
|
-
it('refines correctly even when state changes', async () => {
|
|
337
|
-
const refine = jest.fn();
|
|
338
|
-
__setState({
|
|
339
|
-
...defaultState,
|
|
340
|
-
refine,
|
|
341
|
-
});
|
|
342
|
-
|
|
343
|
-
const wrapper = mount(RangeInput, {
|
|
344
|
-
propsData: {
|
|
345
|
-
...defaultProps,
|
|
346
|
-
},
|
|
347
|
-
});
|
|
348
|
-
|
|
349
|
-
// refine for the first time
|
|
350
|
-
const minInput = wrapper.find('.ais-RangeInput-input--min');
|
|
351
|
-
minInput.element.value = 10;
|
|
352
|
-
await minInput.trigger('change');
|
|
353
|
-
|
|
354
|
-
const maxInput = wrapper.find('.ais-RangeInput-input--max');
|
|
355
|
-
maxInput.element.value = 100;
|
|
356
|
-
await maxInput.trigger('change');
|
|
357
|
-
|
|
358
|
-
const form = wrapper.find('form');
|
|
359
|
-
await form.trigger('submit');
|
|
360
|
-
|
|
361
|
-
expect(refine).toHaveBeenCalledTimes(1);
|
|
362
|
-
expect(refine).toHaveBeenCalledWith(['10', '100']);
|
|
363
|
-
|
|
364
|
-
// update the state
|
|
365
|
-
await wrapper.setData({ state: { start: [50, 200] } }); // min: 10 -> 50, max: 100 -> 200
|
|
366
|
-
|
|
367
|
-
await form.trigger('submit');
|
|
368
|
-
expect(refine).toHaveBeenCalledTimes(2);
|
|
369
|
-
expect(refine).toHaveBeenCalledWith([50, 200]);
|
|
370
|
-
});
|
|
371
|
-
});
|