3
3
var algoliasearchHelper = require ( '../../../index' ) ;
4
4
var SearchParameters = require ( '../../../src/SearchParameters' ) ;
5
5
6
- test ( 'searchOnce should call the algolia client according to the number of refinements and call callback with no error and with results when no error' , function ( done ) {
6
+ test ( 'searchOnce should call the algolia client according to the number of refinements and call callback with no error and with results when no error' , async function ( ) {
7
7
var testData = require ( '../../datasets/SearchParameters/search.dataset' ) ( ) ;
8
8
9
9
var client = {
@@ -21,76 +21,72 @@ test('searchOnce should call the algolia client according to the number of refin
21
21
. addDisjunctiveFacetRefinement ( 'city' , 'Paris' )
22
22
. addDisjunctiveFacetRefinement ( 'city' , 'New York' ) ;
23
23
24
- helper . searchOnce ( parameters , function ( err , data ) {
25
- expect ( err ) . toBe ( null ) ;
26
-
27
- // shame deepclone, to remove any associated methods coming from the results
28
- expect ( JSON . parse ( JSON . stringify ( data ) ) ) . toEqual (
29
- JSON . parse ( JSON . stringify ( testData . responseHelper ) )
30
- ) ;
31
-
32
- var cityValues = data . getFacetValues ( 'city' ) ;
33
- var expectedCityValues = [
34
- { name : 'Paris' , escapedValue : 'Paris' , count : 3 , isRefined : true } ,
35
- { name : 'New York' , escapedValue : 'New York' , count : 1 , isRefined : true } ,
36
- {
37
- name : 'San Francisco' ,
38
- escapedValue : 'San Francisco' ,
39
- count : 1 ,
40
- isRefined : false ,
41
- } ,
42
- ] ;
43
-
44
- expect ( cityValues ) . toEqual ( expectedCityValues ) ;
45
-
46
- var cityValuesCustom = data . getFacetValues ( 'city' , {
47
- sortBy : [ 'count:asc' , 'name:asc' ] ,
48
- } ) ;
49
- var expectedCityValuesCustom = [
50
- { name : 'New York' , escapedValue : 'New York' , count : 1 , isRefined : true } ,
51
- {
52
- name : 'San Francisco' ,
53
- escapedValue : 'San Francisco' ,
54
- count : 1 ,
55
- isRefined : false ,
56
- } ,
57
- { name : 'Paris' , escapedValue : 'Paris' , count : 3 , isRefined : true } ,
58
- ] ;
59
-
60
- expect ( cityValuesCustom ) . toEqual ( expectedCityValuesCustom ) ;
61
-
62
- var cityValuesFn = data . getFacetValues ( 'city' , {
63
- sortBy : function ( a , b ) {
64
- return a . count - b . count ;
65
- } ,
66
- } ) ;
67
- var expectedCityValuesFn = [
68
- { name : 'New York' , escapedValue : 'New York' , count : 1 , isRefined : true } ,
69
- {
70
- name : 'San Francisco' ,
71
- escapedValue : 'San Francisco' ,
72
- count : 1 ,
73
- isRefined : false ,
74
- } ,
75
- { name : 'Paris' , escapedValue : 'Paris' , count : 3 , isRefined : true } ,
76
- ] ;
77
-
78
- expect ( cityValuesFn ) . toEqual ( expectedCityValuesFn ) ;
79
-
80
- expect ( client . search ) . toHaveBeenCalledTimes ( 1 ) ;
81
-
82
- var queries = client . search . mock . calls [ 0 ] [ 0 ] ;
83
- for ( var i = 0 ; i < queries . length ; i ++ ) {
84
- var query = queries [ i ] ;
85
- expect ( query . query ) . toBeUndefined ( ) ;
86
- expect ( query . params . query ) . toBeUndefined ( ) ;
87
- }
88
-
89
- done ( ) ;
24
+ const { content } = await helper . searchOnce ( parameters ) ;
25
+
26
+ // shame deepclone, to remove any associated methods coming from the results
27
+ expect ( JSON . parse ( JSON . stringify ( content ) ) ) . toEqual (
28
+ JSON . parse ( JSON . stringify ( testData . responseHelper ) )
29
+ ) ;
30
+
31
+ var cityValues = content . getFacetValues ( 'city' ) ;
32
+ var expectedCityValues = [
33
+ { name : 'Paris' , escapedValue : 'Paris' , count : 3 , isRefined : true } ,
34
+ { name : 'New York' , escapedValue : 'New York' , count : 1 , isRefined : true } ,
35
+ {
36
+ name : 'San Francisco' ,
37
+ escapedValue : 'San Francisco' ,
38
+ count : 1 ,
39
+ isRefined : false ,
40
+ } ,
41
+ ] ;
42
+
43
+ expect ( cityValues ) . toEqual ( expectedCityValues ) ;
44
+
45
+ var cityValuesCustom = content . getFacetValues ( 'city' , {
46
+ sortBy : [ 'count:asc' , 'name:asc' ] ,
90
47
} ) ;
48
+ var expectedCityValuesCustom = [
49
+ { name : 'New York' , escapedValue : 'New York' , count : 1 , isRefined : true } ,
50
+ {
51
+ name : 'San Francisco' ,
52
+ escapedValue : 'San Francisco' ,
53
+ count : 1 ,
54
+ isRefined : false ,
55
+ } ,
56
+ { name : 'Paris' , escapedValue : 'Paris' , count : 3 , isRefined : true } ,
57
+ ] ;
58
+
59
+ expect ( cityValuesCustom ) . toEqual ( expectedCityValuesCustom ) ;
60
+
61
+ var cityValuesFn = content . getFacetValues ( 'city' , {
62
+ sortBy : function ( a , b ) {
63
+ return a . count - b . count ;
64
+ } ,
65
+ } ) ;
66
+ var expectedCityValuesFn = [
67
+ { name : 'New York' , escapedValue : 'New York' , count : 1 , isRefined : true } ,
68
+ {
69
+ name : 'San Francisco' ,
70
+ escapedValue : 'San Francisco' ,
71
+ count : 1 ,
72
+ isRefined : false ,
73
+ } ,
74
+ { name : 'Paris' , escapedValue : 'Paris' , count : 3 , isRefined : true } ,
75
+ ] ;
76
+
77
+ expect ( cityValuesFn ) . toEqual ( expectedCityValuesFn ) ;
78
+
79
+ expect ( client . search ) . toHaveBeenCalledTimes ( 1 ) ;
80
+
81
+ var queries = client . search . mock . calls [ 0 ] [ 0 ] ;
82
+ for ( var i = 0 ; i < queries . length ; i ++ ) {
83
+ var query = queries [ i ] ;
84
+ expect ( query . query ) . toBeUndefined ( ) ;
85
+ expect ( query . params . query ) . toBeUndefined ( ) ;
86
+ }
91
87
} ) ;
92
88
93
- test ( 'searchOnce should call the algolia client according to the number of refinements and call callback with error and no results when error' , function ( done ) {
89
+ test ( 'searchOnce should call the algolia client according to the number of refinements and call callback with error and no results when error' , async function ( ) {
94
90
var error = { message : 'error' } ;
95
91
var client = {
96
92
search : jest . fn ( ) . mockImplementationOnce ( function ( ) {
@@ -107,19 +103,14 @@ test('searchOnce should call the algolia client according to the number of refin
107
103
. addDisjunctiveFacetRefinement ( 'city' , 'Paris' )
108
104
. addDisjunctiveFacetRefinement ( 'city' , 'New York' ) ;
109
105
110
- helper . searchOnce ( parameters , function ( err , data ) {
111
- expect ( err ) . toBe ( error ) ;
112
- expect ( data ) . toBe ( null ) ;
113
-
114
- expect ( client . search ) . toHaveBeenCalledTimes ( 1 ) ;
106
+ await expect ( ( ) => helper . searchOnce ( parameters ) ) . rejects . toEqual ( error ) ;
115
107
116
- var queries = client . search . mock . calls [ 0 ] [ 0 ] ;
117
- for ( var i = 0 ; i < queries . length ; i ++ ) {
118
- var query = queries [ i ] ;
119
- expect ( query . query ) . toBeUndefined ( ) ;
120
- expect ( query . params . query ) . toBeUndefined ( ) ;
121
- }
108
+ expect ( client . search ) . toHaveBeenCalledTimes ( 1 ) ;
122
109
123
- done ( ) ;
124
- } ) ;
110
+ var queries = client . search . mock . calls [ 0 ] [ 0 ] ;
111
+ for ( var i = 0 ; i < queries . length ; i ++ ) {
112
+ var query = queries [ i ] ;
113
+ expect ( query . query ) . toBeUndefined ( ) ;
114
+ expect ( query . params . query ) . toBeUndefined ( ) ;
115
+ }
125
116
} ) ;
0 commit comments