Merge pull request #20 from RobertWalsh/master
Fixed UsergridResponse.loadNextPage and UsergridQuery._ql when no query and sort are specified.
diff --git a/lib/query.js b/lib/query.js
index 0ffb669..9cbfd5c 100644
--- a/lib/query.js
+++ b/lib/query.js
@@ -121,7 +121,7 @@
if (queryString !== undefined) {
return queryString
} else {
- return (query.length > 0 || sort !== undefined) ? util.format('select * where %s%s', query || '', sort || '') : ""
+ return util.format('select * %s %s', ((query.length > 0) ? 'where ' + (query || '') : ''),((sort !== undefined) ? sort : '')).trim()
}
}
})
diff --git a/lib/response.js b/lib/response.js
index 2aa7ad4..b2f6fd4 100644
--- a/lib/response.js
+++ b/lib/response.js
@@ -77,9 +77,10 @@
callback()
}
var client = helpers.client.validate(args)
- var type = _.last(ok(this).getIfExists('metadata.path').split('/'))
- var limit = _.first(ok(this).getIfExists('metadata.params.limit'))
- var query = new UsergridQuery(type).cursor(this.metadata.cursor).limit(limit)
+ var type = _.last(_.get(this,'metadata.path').split('/'))
+ var limit = _.first(_.get(this,'metadata.params.limit'))
+ var ql = _.first(_.get(this,'metadata.params.ql'))
+ var query = new UsergridQuery(type).fromString(ql).cursor(this.metadata.cursor).limit(limit)
return client.GET(query, callback)
}
}
diff --git a/tests/lib/query.test.js b/tests/lib/query.test.js
index d9ecd41..65f9c1a 100644
--- a/tests/lib/query.test.js
+++ b/tests/lib/query.test.js
@@ -33,9 +33,9 @@
})
describe('_ql', function() {
- it('should be an empty string if query or sort are empty or underfined', function() {
+ it('should equal \'select *\' if query or sort are empty or underfined', function() {
var query = new UsergridQuery('cats')
- query.should.have.property('_ql').equal("")
+ query.should.have.property('_ql').equal('select * ')
})
it('should support complex builder pattern syntax (chained constructor methods)', function() {