[#217,backend/ckan][s]: support for sorting (plus refactor to have a normalizeQuery method).
This commit is contained in:
parent
fe41a0cf90
commit
e2963e9fb7
@ -37,14 +37,26 @@ this.recline.Backend.Ckan = this.recline.Backend.Ckan || {};
|
||||
return dfd.promise();
|
||||
};
|
||||
|
||||
my.query = function(queryObj, dataset) {
|
||||
var wrapper = my.DataStore();
|
||||
// only put in the module namespace so we can access for tests!
|
||||
my._normalizeQuery = function(queryObj, dataset) {
|
||||
var actualQuery = {
|
||||
resource_id: dataset.id,
|
||||
q: queryObj.q,
|
||||
limit: queryObj.size,
|
||||
offset: queryObj.from
|
||||
limit: queryObj.size || 10,
|
||||
offset: queryObj.from || 0
|
||||
};
|
||||
if (queryObj.sort && queryObj.sort.length > 0) {
|
||||
var _tmp = _.map(queryObj.sort, function(sortObj) {
|
||||
return sortObj.field + ' ' + (sortObj.order || '');
|
||||
});
|
||||
actualQuery.sort = _tmp.join(',');
|
||||
}
|
||||
return actualQuery;
|
||||
}
|
||||
|
||||
my.query = function(queryObj, dataset) {
|
||||
var actualQuery = my._normalizeQuery(queryObj, dataset);
|
||||
var wrapper = my.DataStore();
|
||||
var dfd = $.Deferred();
|
||||
var jqxhr = wrapper.search(actualQuery);
|
||||
jqxhr.done(function(results) {
|
||||
|
||||
@ -1,6 +1,31 @@
|
||||
(function ($) {
|
||||
module("Backend CKAN");
|
||||
|
||||
test('_normalizeQuery', function() {
|
||||
var dataset = new recline.Model.Dataset({
|
||||
url: 'does-not-matter',
|
||||
id: 'xyz',
|
||||
backend: 'ckan'
|
||||
});
|
||||
|
||||
var queryObj = {
|
||||
q: 'abc',
|
||||
sort: [
|
||||
{ field: 'location', order: 'desc' },
|
||||
{ field: 'last' }
|
||||
]
|
||||
};
|
||||
var out = recline.Backend.Ckan._normalizeQuery(queryObj, dataset);
|
||||
var exp = {
|
||||
resource_id: dataset.id,
|
||||
q: 'abc',
|
||||
sort: 'location desc,last ',
|
||||
limit: 10,
|
||||
offset: 0
|
||||
};
|
||||
deepEqual(out, exp);
|
||||
});
|
||||
|
||||
test("fetch", function() {
|
||||
var dataset = new recline.Model.Dataset({
|
||||
url: 'http://localhost:5000/dataset/test-data-viewer/resource/4f1299ab-a100-4e5f-ba81-e6d234a2f3bd',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user