1 | "use strict";
|
2 |
|
3 | let assert = require('chai').assert;
|
4 | let _ = require('lodash');
|
5 |
|
6 | let rel = require('../lib/relations.js');
|
7 |
|
8 | let docs = {
|
9 | '/': { 'data': '/' },
|
10 | '/dogs': { 'data': '/dogs' },
|
11 | '/dogs/jim': { 'data': '/dogs/jim' },
|
12 | '/cats': { 'data': '/cats' },
|
13 | '/cats/tim': { 'data': '/cats/tim' },
|
14 | '/cats/liz': { 'data': '/cats/liz' },
|
15 | '/pets/pip/8': { 'data': '/pets/pip/8' }
|
16 | };
|
17 |
|
18 | module.exports = {
|
19 | 'relations - menu': (done) => {
|
20 | assert.deepEqual(rel.menu(docs), [ '/dogs', '/cats' ]);
|
21 | done();
|
22 | },
|
23 |
|
24 | 'relations - children': (done) => {
|
25 | assert.deepEqual(rel.children(docs, '/cats', 1), [ '/cats/tim', '/cats/liz' ]);
|
26 | assert.deepEqual(rel.children(docs, '/pets', 2), [ '/pets/pip/8' ]);
|
27 | done();
|
28 | },
|
29 |
|
30 | 'relations - siblings': (done) => {
|
31 | assert.deepEqual(rel.siblings(docs, '/cats/tim'), [ '/cats/liz' ]);
|
32 | done();
|
33 | },
|
34 |
|
35 | 'relations - parent': (done) => {
|
36 | assert.deepEqual(rel.parent(docs, '/dogs/jim'), '/dogs');
|
37 | assert.deepEqual(rel.parent(docs, '/pets/pip/8'), '/');
|
38 | assert.deepEqual(rel.parent(docs, '/'), '/');
|
39 | done();
|
40 | },
|
41 |
|
42 | 'relations - isChild': (done) => {
|
43 | assert.ok(rel.isChild(null, '/a/b', '/a/b/c'));
|
44 | assert.notOk(rel.isChild(null, '/a/b', '/a/ble/c'));
|
45 | assert.notOk(rel.isChild(null, '/a/b', '/a/b'));
|
46 | done();
|
47 | }
|
48 | };
|