68 lines
2.1 KiB
JavaScript
68 lines
2.1 KiB
JavaScript
define("dstore/tests/Tree", [
|
|
'intern!object',
|
|
'intern/chai!assert',
|
|
'dojo/_base/declare',
|
|
'dstore/Memory',
|
|
'dstore/Tree'
|
|
], function (registerSuite, assert, declare, Memory, Tree) {
|
|
var TestStore = declare([ Memory, Tree ]);
|
|
|
|
var store = new TestStore({
|
|
Model: null,
|
|
data: [
|
|
{ parent: null, id: '1', name: 'root1' },
|
|
{ parent: '1', id: '1.1', name: 'child1.1' },
|
|
{ parent: '1', id: '1.2', name: 'child1.2' },
|
|
{ parent: '1.2', id: '1.2.1', name: 'grandchild1.2.1' },
|
|
{ parent: '1.2', id: '1.2.2', name: 'grandchild1.2.2' },
|
|
{ parent: '1', id: '1.3', name: 'child1.3' },
|
|
{ parent: null, id: '2', name: 'root2' },
|
|
{ parent: '2', id: '2.1', name: 'child2.1' },
|
|
{ parent: '2', id: '2.2', name: 'child2.2' },
|
|
{ parent: null, id: '3', name: 'root3' }
|
|
]
|
|
});
|
|
|
|
registerSuite({
|
|
name: 'dstore/Tree',
|
|
|
|
'getRootCollection': function () {
|
|
// slice() to get a copy of the results without a totalLength property
|
|
var results = store.getRootCollection().fetchSync().slice();
|
|
|
|
assert.deepEqual(results, [
|
|
{ parent: null, id: '1', name: 'root1' },
|
|
{ parent: null, id: '2', name: 'root2' },
|
|
{ parent: null, id: '3', name: 'root3' }
|
|
]);
|
|
},
|
|
|
|
'mayHaveChildren': function () {
|
|
assert.isTrue(store.mayHaveChildren({}));
|
|
assert.isTrue(store.mayHaveChildren({ hasChildren: true }));
|
|
assert.isFalse(store.mayHaveChildren({ hasChildren: false }));
|
|
},
|
|
|
|
'getChildren': function () {
|
|
var childlessObject = store.getSync('3');
|
|
var children = store.getChildren(childlessObject).fetchSync().slice();
|
|
assert.deepEqual(children, []);
|
|
|
|
var parentObject = store.getSync('1');
|
|
children = store.getChildren(parentObject).fetchSync().slice();
|
|
assert.deepEqual(children, [
|
|
{ parent: '1', id: '1.1', name: 'child1.1' },
|
|
{ parent: '1', id: '1.2', name: 'child1.2' },
|
|
{ parent: '1', id: '1.3', name: 'child1.3' }
|
|
]);
|
|
|
|
var grandparentObject = store.getSync('1.2');
|
|
children = store.getChildren(grandparentObject).fetchSync().slice();
|
|
assert.deepEqual(children, [
|
|
{ parent: '1.2', id: '1.2.1', name: 'grandchild1.2.1' },
|
|
{ parent: '1.2', id: '1.2.2', name: 'grandchild1.2.2' }
|
|
]);
|
|
}
|
|
});
|
|
});
|