UNPKG

1.31 kBJavaScriptView Raw
1"use strict";
2
3let assert = require('chai').assert;
4let _ = require('lodash');
5
6let rel = require('../lib/relations.js');
7
8let 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
18module.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};