[#66,filters][s]: memory backend support for filters.

This commit is contained in:
Rufus Pollock 2012-04-02 21:05:28 +01:00
parent 1eb7df9a7c
commit 36548ceffc
2 changed files with 16 additions and 0 deletions

View File

@ -120,6 +120,12 @@ this.recline.Backend = this.recline.Backend || {};
var numRows = queryObj.size;
var start = queryObj.from;
results = this.datasets[model.id].documents;
_.each(queryObj.filters, function(filter) {
results = _.filter(results, function(doc) {
var fieldId = _.keys(filter.term)[0];
return (doc[fieldId] == filter.term[fieldId]);
});
});
// not complete sorting!
_.each(queryObj.sort, function(sortObj) {
var fieldName = _.keys(sortObj)[0];

View File

@ -79,7 +79,17 @@ test('Memory Backend: query sort', function () {
});
});
test('Memory Backend: filters', function () {
var dataset = makeBackendDataset();
dataset.queryState.addTermFilter('country', 'UK');
dataset.query().then(function() {
equal(dataset.currentDocuments.length, 3);
deepEqual(dataset.currentDocuments.pluck('country'), ['UK', 'UK', 'UK']);
});
});
test('Memory Backend: facet', function () {
console.log('here');
var dataset = makeBackendDataset();
dataset.queryState.addFacet('country');
dataset.query().then(function() {