summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/libnpmorg/test/index.js
blob: f5e163a06a7894cb29f8c66eff23ef4fecfa7fab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
'use strict'

const figgyPudding = require('figgy-pudding')
const getStream = require('get-stream')
const test = require('tap').test
const tnock = require('./util/tnock.js')

const org = require('../index.js')

const OPTS = figgyPudding({registry: {}})({
  registry: 'https://mock.reg/'
})

test('set', t => {
  const memDeets = {
    org: {
      name: 'myorg',
      size: 15
    },
    user: 'myuser',
    role: 'admin'
  }
  tnock(t, OPTS.registry).put('/-/org/myorg/user', {
    user: 'myuser',
    role: 'admin'
  }).reply(201, memDeets)
  return org.set('myorg', 'myuser', 'admin', OPTS).then(res => {
    t.deepEqual(res, memDeets, 'got a membership details object back')
  })
})

test('optional role for set', t => {
  const memDeets = {
    org: {
      name: 'myorg',
      size: 15
    },
    user: 'myuser',
    role: 'developer'
  }
  tnock(t, OPTS.registry).put('/-/org/myorg/user', {
    user: 'myuser'
  }).reply(201, memDeets)
  return org.set('myorg', 'myuser', OPTS).then(res => {
    t.deepEqual(res, memDeets, 'got a membership details object back')
  })
})

test('rm', t => {
  tnock(t, OPTS.registry).delete('/-/org/myorg/user', {
    user: 'myuser'
  }).reply(204)
  return org.rm('myorg', 'myuser', OPTS).then(() => {
    t.ok(true, 'request succeeded')
  })
})

test('ls', t => {
  const roster = {
    'zkat': 'developer',
    'iarna': 'admin',
    'isaacs': 'owner'
  }
  tnock(t, OPTS.registry).get('/-/org/myorg/user').reply(200, roster)
  return org.ls('myorg', OPTS).then(res => {
    t.deepEqual(res, roster, 'got back a roster')
  })
})

test('ls stream', t => {
  const roster = {
    'zkat': 'developer',
    'iarna': 'admin',
    'isaacs': 'owner'
  }
  const rosterArr = Object.keys(roster).map(k => [k, roster[k]])
  tnock(t, OPTS.registry).get('/-/org/myorg/user').reply(200, roster)
  return getStream.array(org.ls.stream('myorg', OPTS)).then(res => {
    t.deepEqual(res, rosterArr, 'got back a roster, in entries format')
  })
})