Skip to content

Commit a0ff434

Browse files
committed
Testcase: search Pagination
1 parent 71f2f48 commit a0ff434

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

test/search/pagination.spec.js

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
describe('Pagination', function () {
2+
var expect = window.expect;
3+
fixture.setBase('mock');
4+
var searchTest = fixture.load('searchTestResponse.json');
5+
6+
before(function(){
7+
8+
//setup document to hold search results
9+
document.body.innerHTML = __html__['index.html'];
10+
11+
//change configuration to pagination from autoscroll
12+
window.config.isAutoScroll = false;
13+
window.config.isPagination = true;
14+
15+
//initialize search
16+
window.searchobj = new window.Unbxd.setSearch(window.config);
17+
18+
//stub search ajax call with mock response
19+
this.stub = sinon.stub(jQuery, 'ajax').yieldsTo('success',searchTest);
20+
21+
this.spyOnIntialResultLoad = sinon.spy(window.searchobj.options,
22+
'onIntialResultLoad');
23+
this.spyOnPageLoad = sinon.spy(window.searchobj.options, 'onPageLoad');
24+
});
25+
26+
after(function(){
27+
this.stub.restore();
28+
});
29+
30+
beforeEach(function(){
31+
//reset params applied
32+
window.searchobj.reset();
33+
window.searchobj.callResults(window.searchobj.paintResultSet);
34+
});
35+
36+
37+
it('Should call onPageLoad', function(){
38+
39+
jQuery(window.searchobj.options.paginationContainerSelector +
40+
' [unbxdaction="next"]').click();
41+
expect(this.spyOnPageLoad.called).to.be.true;
42+
});
43+
44+
it('Should call Next page', function(){
45+
46+
var beforeOnPage = window.searchobj.getPage();
47+
var afterOnPage;
48+
49+
jQuery(window.searchobj.options.paginationContainerSelector +
50+
' [unbxdaction="next"]').click();
51+
afterOnPage = window.searchobj.getPage();
52+
expect(beforeOnPage + 1).to.be.equal(afterOnPage);
53+
});
54+
55+
it('Should call Previous page', function(){
56+
57+
var beforeOnPage ,afterOnPage;
58+
jQuery(window.searchobj.options.paginationContainerSelector +
59+
' [unbxdaction="next"]').click();
60+
beforeOnPage = window.searchobj.getPage();
61+
62+
jQuery(window.searchobj.options.paginationContainerSelector +
63+
' [unbxdaction="prev"]').click();
64+
afterOnPage = window.searchobj.getPage();
65+
expect(beforeOnPage - 1).to.be.equal(afterOnPage);
66+
});
67+
68+
it('Should call custom page', function(){
69+
var customPage = 2;
70+
71+
this.stub.yieldsTo('success',searchTest);
72+
jQuery(window.searchobj.options.paginationContainerSelector +
73+
' [unbxdaction="'+customPage+'"]')
74+
.click();
75+
expect(window.searchobj.getPage()).to.be.equal(customPage);
76+
});
77+
78+
it('Should call first page', function(){
79+
80+
jQuery(window.searchobj.options.paginationContainerSelector +
81+
' [unbxdaction="first"]').click();
82+
expect(window.searchobj.getPage()).to.be.equal(1);
83+
});
84+
85+
it('Should call last page', function(){
86+
87+
jQuery(window.searchobj.options.paginationContainerSelector +
88+
' [unbxdaction="last"]').click();
89+
expect(window.searchobj.getPage()).to.be.equal(window.searchobj.totalPages);
90+
});
91+
92+
});

0 commit comments

Comments
 (0)