1 |
|
2 | const assert = require("chai").assert
|
3 | const Promise = require("bluebird")
|
4 | const d = require("debug")("raptorjs:test:tree")
|
5 | const util = require("../util")
|
6 |
|
7 | const createNode = () => {
|
8 | return util.createAdminInstance()
|
9 | .then((r) => r.Inventory().create({ name: util.randomName("dev") })
|
10 | .then((dev) => r.Tree().create({ id: dev.id, type: "device" })
|
11 | .then((node) => Promise.resolve({ dev, node, r })))
|
12 | )
|
13 | }
|
14 |
|
15 | describe("Tree", function () {
|
16 |
|
17 | it("should create a node", function () {
|
18 | return createNode().then(({dev, node}) => {
|
19 | d("Created node %s_%s", node.type, node.id)
|
20 | assert.equal(dev.id, node.id)
|
21 | return Promise.resolve()
|
22 | })
|
23 | })
|
24 |
|
25 | it("should update a node", function () {
|
26 | return createNode().then(({node, r}) => r.Tree().update({ id: node.id, type: "device", name: "foobar3000" })
|
27 | .then((node2) => {
|
28 | assert.equal(node2.id, node.id)
|
29 | assert.equal(node2.name, "foobar3000")
|
30 | return Promise.resolve()
|
31 | }))
|
32 | })
|
33 |
|
34 | it("should delete a node", function () {
|
35 | return createNode()
|
36 | .then(({node, r}) => r.Tree().delete(node)
|
37 | .then(() => r.Tree().read(node)))
|
38 | .catch((e) => {
|
39 | assert.equal(404, e.code)
|
40 | return Promise.resolve()
|
41 | })
|
42 | })
|
43 |
|
44 | it("should search nodes", function () {
|
45 | return createNode().then(({node, r}) => r.Tree().update({ id: node.id, type: "device", name: "test1", properties: { test: true } })
|
46 | .then(() => r.Tree().search({ name: "test1" })))
|
47 | .then((pager) => {
|
48 | assert.isTrue(pager.getContent().filter((n) => n.name === "test1").length > 0)
|
49 | return Promise.resolve()
|
50 | })
|
51 | })
|
52 |
|
53 | })
|