1
1
describe ( 'Facets' , function ( ) {
2
- var expect = window . expect ;
3
2
4
3
before ( function ( ) {
5
- fixture . setBase ( 'mock' ) ;
6
- var searchTest = fixture . load ( 'searchTestResponse.json' ) ;
4
+ this . searchTest = fixture . load ( 'mock/searchTestResponse.json' ) ;
7
5
8
6
//setup document to hold search results
9
7
document . body . innerHTML = __html__ [ 'index.html' ] ;
10
8
11
9
//initialize search
12
- window . searchobj = new window . Unbxd . setSearch ( window . config ) ;
10
+ this . searchobj = new window . Unbxd . setSearch ( window . config ) ;
13
11
14
12
//stub search ajax call with mock response
15
- this . stub = sinon . stub ( jQuery , 'ajax' ) . yieldsTo ( 'success' , searchTest ) ;
13
+ this . stub = sinon . stub ( jQuery , 'ajax' ) . yieldsTo ( 'success' , this . searchTest ) ;
16
14
17
- this . spyOnFacetLoad = sinon . spy ( window . searchobj . options , 'onFacetLoad' ) ;
15
+ this . spyOnFacetLoad = sinon . spy ( this . searchobj . options , 'onFacetLoad' ) ;
18
16
this . spyFacetOnSelect = sinon
19
- . spy ( window . searchobj . options , 'facetOnSelect' ) ;
17
+ . spy ( this . searchobj . options , 'facetOnSelect' ) ;
20
18
this . spyFacetOnDeselect = sinon
21
- . spy ( window . searchobj . options , 'facetOnDeselect' ) ;
22
- this . spyRemoveFilter = sinon . spy ( window . searchobj , 'removeFilter' ) ;
23
- this . spyClearFilters = sinon . spy ( window . searchobj , 'clearFilters' ) ;
19
+ . spy ( this . searchobj . options , 'facetOnDeselect' ) ;
20
+ this . spyRemoveFilter = sinon . spy ( this . searchobj , 'removeFilter' ) ;
21
+ this . spyClearFilters = sinon . spy ( this . searchobj , 'clearFilters' ) ;
24
22
25
23
} ) ;
26
24
@@ -31,66 +29,66 @@ describe('Facets', function () {
31
29
32
30
beforeEach ( function ( ) {
33
31
//reset filters applied
34
- window . searchobj . clearFilters ( true ) ;
35
- window . searchobj . callResults ( window . searchobj . paintResultSet ) ;
32
+ this . searchobj . clearFilters ( true ) ;
33
+ this . searchobj . callResults ( this . searchobj . paintResultSet ) ;
36
34
} ) ;
37
35
38
36
it ( 'Should call onFacetLoad on selecting facet' , function ( ) {
39
37
var beforeCallCount = this . spyOnFacetLoad . callCount ;
40
38
var afterCallCount ;
41
- jQuery ( window . searchobj . options . facetContainerSelector + ' label' ) [ 0 ]
39
+ jQuery ( this . searchobj . options . facetContainerSelector + ' label' ) [ 0 ]
42
40
. click ( ) ;
43
41
afterCallCount = this . spyOnFacetLoad . callCount ;
44
42
expect ( beforeCallCount + 1 ) . to . be . equal ( afterCallCount ) ;
45
43
} ) ;
46
44
47
45
it ( 'Should call facetOnSelect with element as args on facet select' ,
48
46
function ( ) {
49
- var facetElement = jQuery ( window . searchobj . options
47
+ var facetElement = jQuery ( this . searchobj . options
50
48
. facetContainerSelector + ' label' ) . first ( ) ;
51
49
//apply facet
52
50
facetElement . click ( ) ;
53
51
expect ( jQuery ( this . spyFacetOnSelect . args [ 0 ] [ 0 ] [ 0 ] ) . text ( ) )
54
- . to . be . equal ( jQuery ( window . searchobj . options . facetContainerSelector +
52
+ . to . be . equal ( jQuery ( this . searchobj . options . facetContainerSelector +
55
53
' label' ) . first ( ) . text ( ) ) ;
56
54
}
57
55
) ;
58
56
59
57
it ( 'Should call facetOnDeselect with element as args on deselecting facet' ,
60
58
function ( ) {
61
- var facetElement = jQuery ( window . searchobj . options
59
+ var facetElement = jQuery ( this . searchobj . options
62
60
. facetContainerSelector + ' label' ) . first ( ) ;
63
61
//apply facet
64
62
facetElement . click ( ) ;
65
63
//remove facet
66
64
facetElement . click ( ) ;
67
65
expect ( jQuery ( this . spyFacetOnDeselect . args [ 0 ] [ 0 ] [ 0 ] ) . text ( ) )
68
- . to . be . equal ( jQuery ( window . searchobj . options
66
+ . to . be . equal ( jQuery ( this . searchobj . options
69
67
. facetContainerSelector + ' label' ) . first ( ) . text ( ) ) ;
70
68
}
71
69
) ;
72
70
73
71
it ( 'addFilter - Should add filters to search params' , function ( ) {
74
72
var field = 'color_fq' ;
75
73
var value = 'Black' ;
76
- window . searchobj . addFilter ( field , value ) ;
77
- expect ( window . searchobj . params . filters [ field ] [ value ] ) . to . exist ;
74
+ this . searchobj . addFilter ( field , value ) ;
75
+ expect ( this . searchobj . params . filters [ field ] [ value ] ) . to . exist ;
78
76
} ) ;
79
77
80
78
it ( 'removeFilter - Should remove filters from search params' , function ( ) {
81
79
var field = 'color_fq' ;
82
80
var value = 'Black' ;
83
- window . searchobj . addFilter ( field , value ) ;
84
- window . searchobj . removeFilter ( field , value ) ;
85
- expect ( window . searchobj . params . filters [ field ] ) . to . not . exist ;
81
+ this . searchobj . addFilter ( field , value ) ;
82
+ this . searchobj . removeFilter ( field , value ) ;
83
+ expect ( this . searchobj . params . filters [ field ] ) . to . not . exist ;
86
84
} ) ;
87
85
88
86
it ( 'clearFilter - Should clear search param filters' , function ( ) {
89
87
var field = 'color_fq' ;
90
88
var value = 'Black' ;
91
- window . searchobj . addFilter ( field , value ) ;
92
- window . searchobj . clearFilters ( ) ;
93
- expect ( window . searchobj . params . filters ) . to . be . empty ;
89
+ this . searchobj . addFilter ( field , value ) ;
90
+ this . searchobj . clearFilters ( ) ;
91
+ expect ( this . searchobj . params . filters ) . to . be . empty ;
94
92
} ) ;
95
93
96
94
it ( 'clearFilter(including range) -Should clear filters and rangeFilters' ,
@@ -101,11 +99,11 @@ describe('Facets', function () {
101
99
var start = '30' ;
102
100
var end = '60' ;
103
101
104
- window . searchobj . addFilter ( field , value ) ;
105
- window . searchobj . addRangeFilter ( rangeField , start , end ) ;
106
- window . searchobj . clearFilters ( true ) ;
107
- expect ( window . searchobj . params . filters ) . to . be . empty ;
108
- expect ( window . searchobj . params . ranges ) . to . be . empty ;
102
+ this . searchobj . addFilter ( field , value ) ;
103
+ this . searchobj . addRangeFilter ( rangeField , start , end ) ;
104
+ this . searchobj . clearFilters ( true ) ;
105
+ expect ( this . searchobj . params . filters ) . to . be . empty ;
106
+ expect ( this . searchobj . params . ranges ) . to . be . empty ;
109
107
}
110
108
) ;
111
109
@@ -114,8 +112,8 @@ describe('Facets', function () {
114
112
var rangeField = 'price_fq' ;
115
113
var start = '30' ;
116
114
var end = '60' ;
117
- window . searchobj . addRangeFilter ( rangeField , start , end ) ;
118
- expect ( window . searchobj . params . ranges [ rangeField ] [ start + ' TO ' + end ] )
115
+ this . searchobj . addRangeFilter ( rangeField , start , end ) ;
116
+ expect ( this . searchobj . params . ranges [ rangeField ] [ start + ' TO ' + end ] )
119
117
. to . exist ;
120
118
}
121
119
) ;
@@ -125,9 +123,9 @@ describe('Facets', function () {
125
123
var rangeField = 'price_fq' ;
126
124
var start = '30' ;
127
125
var end = '60' ;
128
- window . searchobj . addRangeFilter ( rangeField , start , end ) ;
129
- window . searchobj . removeRangeFilter ( rangeField , start , end ) ;
130
- expect ( window . searchobj . params . ranges [ rangeField ] ) . to . not . exist ;
126
+ this . searchobj . addRangeFilter ( rangeField , start , end ) ;
127
+ this . searchobj . removeRangeFilter ( rangeField , start , end ) ;
128
+ expect ( this . searchobj . params . ranges [ rangeField ] ) . to . not . exist ;
131
129
}
132
130
) ;
133
131
@@ -136,9 +134,9 @@ describe('Facets', function () {
136
134
var rangeField = 'price_fq' ;
137
135
var start = '30' ;
138
136
var end = '60' ;
139
- window . searchobj . addRangeFilter ( rangeField , start , end ) ;
140
- window . searchobj . clearRangeFiltes ( ) ;
141
- expect ( window . searchobj . params . ranges ) . to . be . empty ;
137
+ this . searchobj . addRangeFilter ( rangeField , start , end ) ;
138
+ this . searchobj . clearRangeFiltes ( ) ;
139
+ expect ( this . searchobj . params . ranges ) . to . be . empty ;
142
140
}
143
141
) ;
144
142
@@ -147,10 +145,10 @@ describe('Facets', function () {
147
145
var field = 'color_fq' ;
148
146
var value1 = 'Black' ;
149
147
var value2 = 'Red' ;
150
- window . searchobj . addFilter ( field , value1 ) ;
151
- window . searchobj . addFilter ( field , value2 ) ;
152
- expect ( window . searchobj . params . filters [ field ] [ value1 ] )
153
- . to . equal ( window . searchobj . params . filters [ field ] [ value2 ] ) . and . exist ;
148
+ this . searchobj . addFilter ( field , value1 ) ;
149
+ this . searchobj . addFilter ( field , value2 ) ;
150
+ expect ( this . searchobj . params . filters [ field ] [ value1 ] )
151
+ . to . equal ( this . searchobj . params . filters [ field ] [ value2 ] ) . and . exist ;
154
152
}
155
153
) ;
156
154
@@ -159,9 +157,9 @@ describe('Facets', function () {
159
157
var field = 'color_fq' ;
160
158
var value = 'Black' ;
161
159
162
- window . searchobj . addFilter ( field , value ) ;
163
- window . searchobj . callResults ( window . searchobj . paintResultSet ) ;
164
- jQuery ( window . searchobj . options . removeSelectedFacetSelector +
160
+ this . searchobj . addFilter ( field , value ) ;
161
+ this . searchobj . callResults ( this . searchobj . paintResultSet ) ;
162
+ jQuery ( this . searchobj . options . removeSelectedFacetSelector +
165
163
'[unbxdparam_facetvalue="' + value + '"]' ) . click ( ) ;
166
164
167
165
expect ( this . spyRemoveFilter . calledWith ( field , value ) ) . to . be . true ;
@@ -176,10 +174,10 @@ describe('Facets', function () {
176
174
var start = '30' ;
177
175
var end = '60' ;
178
176
179
- window . searchobj . addFilter ( field , value ) ;
180
- window . searchobj . addRangeFilter ( rangeField , start , end ) ;
181
- window . searchobj . callResults ( window . searchobj . paintResultSet ) ;
182
- jQuery ( window . searchobj . options . clearSelectedFacetsSelector ) . click ( ) ;
177
+ this . searchobj . addFilter ( field , value ) ;
178
+ this . searchobj . addRangeFilter ( rangeField , start , end ) ;
179
+ this . searchobj . callResults ( this . searchobj . paintResultSet ) ;
180
+ jQuery ( this . searchobj . options . clearSelectedFacetsSelector ) . click ( ) ;
183
181
184
182
expect ( this . spyClearFilters . calledWith ( true ) ) . to . be . true ;
185
183
}
0 commit comments