control-freak-ide/Code/client/build/dgrid/dstore/tests/SimpleQuery.js.consoleStripped.js
plastic-hub-dev-node-saturn 538369cff7 latest
2021-05-12 18:35:18 +02:00

76 lines
2.0 KiB
JavaScript

define("dstore/tests/SimpleQuery", [
'../SimpleQuery',
'dojo/_base/declare',
'../Filter',
'intern!object',
'intern/chai!assert'
], function (SimpleQuery, declare, Filter, registerSuite, assert) {
var testData = [
{ id: 1, name: 'one', odd: true },
{ id: 2, name: 'two', odd: false },
{ id: 3, name: 'three', odd: true },
{ id: 4, name: 'four', odd: false },
{ id: 5, name: 'five', odd: true }
];
var simpleQuery = new SimpleQuery();
registerSuite({
name: 'SimpleQuery',
'filter with predicate': function () {
var filter = simpleQuery._createFilterQuerier({
type: 'function',
args: [function (o) { return o.odd; }]
});
assert.deepEqual(filter(testData), [
{ id: 1, name: 'one', odd: true },
{ id: 3, name: 'three', odd: true },
{ id: 5, name: 'five', odd: true }
]);
},
'filter with object': function () {
var filterExpression = new Filter();
var filter = simpleQuery._createFilterQuerier(filterExpression.eq('odd', false));
assert.deepEqual(filter(testData), [
{ id: 2, name: 'two', odd: false },
{ id: 4, name: 'four', odd: false }
]);
},
'sort with array of sort attributes': function () {
var sort = simpleQuery._createSortQuerier([
{ property: 'odd' },
{ property: 'name', descending: true }
]);
assert.deepEqual(sort(testData), [
{ id: 2, name: 'two', odd: false },
{ id: 4, name: 'four', odd: false },
{ id: 3, name: 'three', odd: true },
{ id: 1, name: 'one', odd: true },
{ id: 5, name: 'five', odd: true }
]);
},
'sort with comparator': function () {
var sort = simpleQuery._createSortQuerier(function (a, b) {
a = a.name;
b = b.name;
return (a < b) ? -1 : (a === b ? 0 : 1);
});
assert.deepEqual(sort(testData), [
{ id: 5, name: 'five', odd: true },
{ id: 4, name: 'four', odd: false },
{ id: 1, name: 'one', odd: true },
{ id: 3, name: 'three', odd: true },
{ id: 2, name: 'two', odd: false }
]);
}
});
});