Skip to content

Commit dd3d83e

Browse files
committed
Testcase: change searchobj and mock data scope
1 parent 7f6e005 commit dd3d83e

13 files changed

+184
-204
lines changed

test/search/autoscroll.spec.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
describe('Autoscroll', function () {
2-
var expect = window.expect;
32

43
before(function(){
5-
fixture.setBase('mock');
6-
var searchTest = fixture.load('searchTestResponse.json');
4+
this.searchTest = fixture.load('mock/searchTestResponse.json');
75
//setup document to hold search results
86
document.body.innerHTML = __html__['index.html'];
97

@@ -12,10 +10,10 @@ describe('Autoscroll', function () {
1210
window.config.isClickNScroll = false;
1311

1412
//initialize search
15-
window.searchobj = new window.Unbxd.setSearch(window.config);
13+
this.searchobj = new window.Unbxd.setSearch(window.config);
1614

1715
//stub search ajax call with mock response
18-
this.stub = sinon.stub(jQuery, 'ajax').yieldsTo('success',searchTest);
16+
this.stub = sinon.stub(jQuery, 'ajax').yieldsTo('success',this.searchTest);
1917
});
2018

2119
after(function(){
@@ -25,16 +23,16 @@ describe('Autoscroll', function () {
2523

2624
beforeEach(function(){
2725
//reset filters applied
28-
window.searchobj.clearFilters(true);
29-
window.searchobj.callResults(window.searchobj.paintResultSet);
26+
this.searchobj.clearFilters(true);
27+
this.searchobj.callResults(this.searchobj.paintResultSet);
3028
});
3129

3230
it('Should load Next page on scroll trigger', function(){
33-
var beforeAtPage = window.searchobj.getPage();
31+
var beforeAtPage = this.searchobj.getPage();
3432
var AfterAtPage;
3533
jQuery(window).trigger('scroll');
3634
// expect(this.spyOnPageLoad.called).to.be.true;
37-
AfterAtPage = window.searchobj.getPage();
35+
AfterAtPage = this.searchobj.getPage();
3836
expect(beforeAtPage + 1).to.be.equal(AfterAtPage);
3937
});
4038
});

test/search/banner.spec.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
describe('Banners', function () {
2-
var expect = window.expect;
3-
fixture.setBase('mock');
4-
var bannerResponse = fixture.load('bannerResponse.json');
52

63
before(function(){
4+
this.bannerResponse = fixture.load('mock/bannerResponse.json');
75
//setup document to hold search results
86
document.body.innerHTML = __html__['index.html'];
97

108
//initialize search
11-
window.searchobj = new window.Unbxd.setSearch(window.config);
9+
this.searchobj = new window.Unbxd.setSearch(window.config);
1210

1311
//stub search ajax call with mock response
14-
this.stub = sinon.stub(jQuery, 'ajax').yieldsTo('success',bannerResponse);
12+
this.stub = sinon.stub(jQuery, 'ajax')
13+
.yieldsTo('success',this.bannerResponse);
1514

1615
});
1716

@@ -21,16 +20,16 @@ describe('Banners', function () {
2120
});
2221

2322
beforeEach(function(){
24-
window.searchobj.callResults(window.searchobj.paintResultSet);
23+
this.searchobj.callResults(this.searchobj.paintResultSet);
2524
});
2625

2726
it('Should update the Banner landingUrl', function(){
28-
expect(jQuery(window.searchobj.options.bannerSelector + ' a').attr('href'))
29-
.to.be.equal(bannerResponse.banner.banners[0].landingUrl);
27+
expect(jQuery(this.searchobj.options.bannerSelector + ' a').attr('href'))
28+
.to.be.equal(this.bannerResponse.banner.banners[0].landingUrl);
3029
});
3130

3231
it('Should update the Banner imageUrl', function(){
33-
expect(jQuery(window.searchobj.options.bannerSelector + ' img').attr('src'))
34-
.to.be.equal(bannerResponse.banner.banners[0].imageUrl);
32+
expect(jQuery(this.searchobj.options.bannerSelector + ' img').attr('src'))
33+
.to.be.equal(this.bannerResponse.banner.banners[0].imageUrl);
3534
});
3635
});

test/search/clickNscroll.spec.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
describe('clickNScroll', function () {
2-
var expect = window.expect;
3-
fixture.setBase('mock');
4-
var searchTest = fixture.load('searchTestResponse.json');
52

63
before(function(){
74

5+
this.searchTest = fixture.load('mock/searchTestResponse.json');
86
//setup document to hold search results
97
document.body.innerHTML = __html__['index.html'];
108

@@ -14,10 +12,11 @@ describe('clickNScroll', function () {
1412
window.config.isClickNScroll = true;
1513

1614
//initialize search
17-
window.searchobj = new window.Unbxd.setSearch(window.config);
15+
this.searchobj = new window.Unbxd.setSearch(window.config);
1816

1917
//stub search ajax call with mock response
20-
this.stub = sinon.stub(jQuery, 'ajax').yieldsTo('success',searchTest);
18+
this.stub = sinon.stub(jQuery, 'ajax')
19+
.yieldsTo('success',this.searchTest);
2120

2221
});
2322

@@ -28,25 +27,26 @@ describe('clickNScroll', function () {
2827

2928
beforeEach(function(){
3029
//reset params applied
31-
window.searchobj.reset();
32-
window.searchobj.callResults(window.searchobj.paintResultSet);
30+
this.searchobj.reset();
31+
this.searchobj.callResults(this.searchobj.paintResultSet);
3332
});
3433

3534
it('Should load Next page on clicking on clickNScrollElement',function(){
36-
var beforeAtPage = window.searchobj.getPage();
35+
var beforeAtPage = this.searchobj.getPage();
3736
var AfterAtPage;
38-
jQuery(window.searchobj.options.clickNScrollElementSelector).click();
39-
AfterAtPage = window.searchobj.getPage();
37+
jQuery(this.searchobj.options.clickNScrollElementSelector).click();
38+
AfterAtPage = this.searchobj.getPage();
4039
expect(beforeAtPage + 1).to.be.equal(AfterAtPage);
4140
});
4241

4342
it('Should hide clickNScrollElement on last page', function(){
44-
searchTest.response.start = searchTest.response.numberOfProducts -
45-
searchTest.searchMetaData.queryParams.rows;
46-
window.searchobj.setPage(window.searchobj.totalPages);
47-
window.searchobj.callResults(window.searchobj.paintResultSet);
43+
this.searchTest.response.start = this.searchTest
44+
.response.numberOfProducts -
45+
this.searchTest.searchMetaData.queryParams.rows;
46+
this.searchobj.setPage(this.searchobj.totalPages);
47+
this.searchobj.callResults(this.searchobj.paintResultSet);
4848

49-
expect(jQuery(window.searchobj.options.clickNScrollElementSelector)
49+
expect(jQuery(this.searchobj.options.clickNScrollElementSelector)
5050
.is(':visible')).to.be.false;
5151
});
5252
});

test/search/facets.spec.js

Lines changed: 47 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
11
describe('Facets', function () {
2-
var expect = window.expect;
32

43
before(function(){
5-
fixture.setBase('mock');
6-
var searchTest = fixture.load('searchTestResponse.json');
4+
this.searchTest = fixture.load('mock/searchTestResponse.json');
75

86
//setup document to hold search results
97
document.body.innerHTML = __html__['index.html'];
108

119
//initialize search
12-
window.searchobj = new window.Unbxd.setSearch(window.config);
10+
this.searchobj = new window.Unbxd.setSearch(window.config);
1311

1412
//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);
1614

17-
this.spyOnFacetLoad = sinon.spy(window.searchobj.options, 'onFacetLoad');
15+
this.spyOnFacetLoad = sinon.spy(this.searchobj.options, 'onFacetLoad');
1816
this.spyFacetOnSelect = sinon
19-
.spy(window.searchobj.options, 'facetOnSelect');
17+
.spy(this.searchobj.options, 'facetOnSelect');
2018
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');
2422

2523
});
2624

@@ -31,66 +29,66 @@ describe('Facets', function () {
3129

3230
beforeEach(function(){
3331
//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);
3634
});
3735

3836
it('Should call onFacetLoad on selecting facet', function(){
3937
var beforeCallCount = this.spyOnFacetLoad.callCount;
4038
var afterCallCount;
41-
jQuery(window.searchobj.options.facetContainerSelector +' label')[0]
39+
jQuery(this.searchobj.options.facetContainerSelector +' label')[0]
4240
.click();
4341
afterCallCount = this.spyOnFacetLoad.callCount;
4442
expect(beforeCallCount + 1).to.be.equal(afterCallCount);
4543
});
4644

4745
it('Should call facetOnSelect with element as args on facet select',
4846
function(){
49-
var facetElement = jQuery(window.searchobj.options
47+
var facetElement = jQuery(this.searchobj.options
5048
.facetContainerSelector + ' label').first();
5149
//apply facet
5250
facetElement.click();
5351
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 +
5553
' label').first().text());
5654
}
5755
);
5856

5957
it('Should call facetOnDeselect with element as args on deselecting facet',
6058
function(){
61-
var facetElement = jQuery(window.searchobj.options
59+
var facetElement = jQuery(this.searchobj.options
6260
.facetContainerSelector +' label').first();
6361
//apply facet
6462
facetElement.click();
6563
//remove facet
6664
facetElement.click();
6765
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
6967
.facetContainerSelector +' label').first().text());
7068
}
7169
);
7270

7371
it('addFilter - Should add filters to search params', function(){
7472
var field = 'color_fq';
7573
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;
7876
});
7977

8078
it('removeFilter - Should remove filters from search params', function(){
8179
var field = 'color_fq';
8280
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;
8684
});
8785

8886
it('clearFilter - Should clear search param filters',function(){
8987
var field = 'color_fq';
9088
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;
9492
});
9593

9694
it('clearFilter(including range) -Should clear filters and rangeFilters',
@@ -101,11 +99,11 @@ describe('Facets', function () {
10199
var start = '30';
102100
var end = '60';
103101

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;
109107
}
110108
);
111109

@@ -114,8 +112,8 @@ describe('Facets', function () {
114112
var rangeField = 'price_fq';
115113
var start = '30';
116114
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])
119117
.to.exist;
120118
}
121119
);
@@ -125,9 +123,9 @@ describe('Facets', function () {
125123
var rangeField = 'price_fq';
126124
var start = '30';
127125
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;
131129
}
132130
);
133131

@@ -136,9 +134,9 @@ describe('Facets', function () {
136134
var rangeField = 'price_fq';
137135
var start = '30';
138136
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;
142140
}
143141
);
144142

@@ -147,10 +145,10 @@ describe('Facets', function () {
147145
var field = 'color_fq';
148146
var value1 = 'Black';
149147
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;
154152
}
155153
);
156154

@@ -159,9 +157,9 @@ describe('Facets', function () {
159157
var field = 'color_fq';
160158
var value = 'Black';
161159

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 +
165163
'[unbxdparam_facetvalue="'+value+'"]').click();
166164

167165
expect(this.spyRemoveFilter.calledWith(field,value)).to.be.true;
@@ -176,10 +174,10 @@ describe('Facets', function () {
176174
var start = '30';
177175
var end = '60';
178176

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();
183181

184182
expect(this.spyClearFilters.calledWith(true)).to.be.true;
185183
}

0 commit comments

Comments
 (0)