UNPKG

2.52 kBJavaScriptView Raw
1
2const assert = require("chai").assert
3const util = require("../util")
4const d = require("debug")("raptorjs:test:app")
5
6
7const createApp = () => {
8 return util.getRaptor().then((r) => {
9 return util.createUserInstance().then((usr1) => {
10 const usr1Id = usr1.Auth().getUser().id
11 return r.App().create({
12 name: util.randomName("app"),
13 users: [{
14 id: usr1Id,
15 roles: ["operator"]
16 }],
17 roles: [{
18 name: "operator",
19 permissions: [
20 "admin_device",
21 "read_app",
22 ]
23 }]
24 }).then((app) => {
25 const rawdev = { name: util.randomName("dev"), domain: app.id }
26 return r.Inventory().create(rawdev).then((dev) => {
27 d("Created dev %s owner %s", dev.id, dev.userId)
28 return usr1.App().read(app).then((app) => {
29 d("usr1 %s can read app %s", usr1Id, app.id)
30 return usr1.Inventory().read(dev.id).then(() => {
31 d("usr1 %s can read device %s", usr1Id, dev.id)
32 return Promise.resolve({
33 usr1, r, dev, app
34 })
35 })
36 })
37 })
38 })
39 })
40 })
41}
42
43describe("app service", function () {
44
45 describe("App API", function () {
46
47 it("should fail app read", function () {
48 return util.createUserInstance().then((usr1) => {
49 usr1.setConfig({
50 url: usr1.getConfig().url,
51 token: "42"
52 })
53 return usr1.App().read({ id: "foo" })
54 .catch((e) => {
55 assert.equal(401, e.code)
56 return Promise.resolve()
57 })
58 })
59 })
60
61 it("should read app", function () {
62 return createApp()
63 })
64
65 it("should not read tree", function () {
66 return createApp().then(({ r, usr1, app }) => {
67 return r.Tree().create({ name: util.randomName("tree"), domain: app.id })
68 .then((tree) => {
69 return usr1.Tree().read(tree.id).catch(() => Promise.resolve())
70 })
71 })
72 })
73
74 })
75})