Ensure {{get}} helper returns pagination

No Issue

- pagination returned if meta pagination exists
- needed to allow pagination helper to work
This commit is contained in:
cobbspur 2015-12-14 13:19:38 +00:00
parent cc3b9e9f53
commit 0ce4078f45
2 changed files with 32 additions and 3 deletions

View File

@ -124,9 +124,10 @@ get = function get(context, options) {
}
// block params allows the theme developer to name the data using something like
// `{{#get "posts" as |result pagination|}}`
// `{{#get "posts" as |result pageInfo|}}`
blockParams = [result[context]];
if (result.meta && result.meta.pagination) {
result.pagination = result.meta.pagination;
blockParams.push(result.meta.pagination);
}

View File

@ -50,7 +50,7 @@ describe('{{#get}} helper', function () {
readTagsStub = sandbox.stub(api.tags, 'read').returns(new Promise.resolve({tags: []}));
readUsersStub = sandbox.stub(api.users, 'read').returns(new Promise.resolve({users: []}));
browsePostsStub.returns(new Promise.resolve({posts: testPostsArr}));
browsePostsStub.returns(new Promise.resolve({posts: testPostsArr, meta: meta}));
browsePostsStub.withArgs({limit: '3'}).returns(new Promise.resolve({posts: testPostsArr.slice(0, 3), meta: meta}));
browsePostsStub.withArgs({limit: '1'}).returns(new Promise.resolve({posts: testPostsArr.slice(0, 1)}));
browsePostsStub.withArgs({filter: 'tags:test'}).returns(new Promise.resolve({posts: testPostsArr.slice(2, 3)}));
@ -76,6 +76,35 @@ describe('{{#get}} helper', function () {
}).catch(done);
});
it('should return pagination and meta pagination with default browse posts call', function (done) {
helpers.get.call(
{},
'posts',
{hash: {}, fn: fn, inverse: inverse}
).then(function () {
fn.firstCall.args[0].pagination.should.be.an.Object;
fn.firstCall.args[0].meta.should.be.an.Object;
fn.firstCall.args[0].meta.pagination.should.be.an.Object;
inverse.called.should.be.false;
done();
}).catch(done);
});
it('should not return pagination if meta pagination does not exist', function (done) {
helpers.get.call(
{},
'posts',
{hash: {limit: '1'}, fn: fn, inverse: inverse}
).then(function () {
should.not.exist(fn.firstCall.args[0].pagination);
should.not.exist(fn.firstCall.args[0].meta);
inverse.called.should.be.false;
done();
}).catch(done);
});
it('should handle browse posts call with limit 3', function (done) {
helpers.get.call(
{},
@ -331,4 +360,3 @@ describe('{{#get}} helper', function () {
});
});
});