diff options
author | Kat Marchán <kzm@sykosomatic.org> | 2015-08-11 21:38:02 +0300 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2015-08-14 22:25:49 +0300 |
commit | cf38208a94906d61e4679998d5bc3dbb75346db9 (patch) | |
tree | 1e70d7e8a9526b4329281090241240a219c8546c /test | |
parent | 3d26dab4ed7c5ce15cc45a5ca479affc84612b55 (diff) |
test: full tests for npm team
PR-URL: https://github.com/npm/npm/pull/9011
Diffstat (limited to 'test')
-rw-r--r-- | test/tap/team.js | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/test/tap/team.js b/test/tap/team.js new file mode 100644 index 000000000..b13fa86e8 --- /dev/null +++ b/test/tap/team.js @@ -0,0 +1,133 @@ +var mr = require('npm-registry-mock') + +var test = require('tap').test +var common = require('../common-tap.js') + +var server + +test('setup', function (t) { + mr({port: common.port}, function (err, s) { + t.ifError(err, 'registry mocked successfully') + server = s + t.end() + }) +}) + +test('team create basic', function (t) { + var teamData = { + name: 'test', + scope_id: 1234, + created: '2015-07-23T18:07:49.959Z', + updated: '2015-07-23T18:07:49.959Z', + deleted: null + } + server.put('/-/org/myorg/team', JSON.stringify({ + name: teamData.name + })).reply(200, teamData) + common.npm([ + 'team', 'create', 'myorg:' + teamData.name, + '--registry', common.registry, + '--loglevel', 'silent' + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, 'npm team') + t.equal(code, 0, 'exited OK') + t.equal(stderr, '', 'no error output') + t.same(JSON.parse(stdout), teamData) + t.end() + }) +}) + +test('team destroy', function (t) { + var teamData = { + name: 'myteam', + scope_id: 1234, + created: '2015-07-23T18:07:49.959Z', + updated: '2015-07-23T18:07:49.959Z', + deleted: '2015-07-23T18:27:27.178Z' + } + server.delete('/-/team/myorg/' + teamData.name).reply(200, teamData) + common.npm([ + 'team', 'destroy', 'myorg:' + teamData.name, + '--registry', common.registry, + '--loglevel', 'silent' + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, 'npm team') + t.equal(code, 0, 'exited OK') + t.equal(stderr, '', 'no error output') + t.same(JSON.parse(stdout), teamData) + t.end() + }) +}) + +test('team add', function (t) { + var user = 'zkat' + server.put('/-/team/myorg/myteam/user', JSON.stringify({ + user: user + })).reply(200) + common.npm([ + 'team', 'add', 'myorg:myteam', user, + '--registry', common.registry, + '--loglevel', 'silent' + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, 'npm team') + t.equal(code, 0, 'exited OK') + t.equal(stderr, '', 'no error output') + t.end() + }) +}) + +test('team rm', function (t) { + var user = 'zkat' + server.delete('/-/team/myorg/myteam/user', JSON.stringify({ + user: user + })).reply(200) + common.npm([ + 'team', 'rm', 'myorg:myteam', user, + '--registry', common.registry, + '--loglevel', 'silent' + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, 'npm team') + t.equal(code, 0, 'exited OK') + t.equal(stderr, '', 'no error output') + t.end() + }) +}) + +test('team ls (on org)', function (t) { + var teams = ['myorg:team1', 'myorg:team2', 'myorg:team3'] + server.get('/-/org/myorg/team?format=cli').reply(200, teams) + common.npm([ + 'team', 'ls', 'myorg', + '--registry', common.registry, + '--loglevel', 'silent' + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, 'npm team') + t.equal(code, 0, 'exited OK') + t.equal(stderr, '', 'no error output') + t.same(JSON.parse(stdout), teams) + t.end() + }) +}) + +test('team ls (on team)', function (t) { + var users = ['zkat', 'bcoe'] + server.get('/-/team/myorg/myteam/user?format=cli').reply(200, users) + common.npm([ + 'team', 'ls', 'myorg:myteam', + '--registry', common.registry, + '--loglevel', 'silent' + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, 'npm team') + t.equal(code, 0, 'exited OK') + t.equal(stderr, '', 'no error output') + t.same(JSON.parse(stdout), users) + t.end() + }) +}) + +test('cleanup', function (t) { + t.pass('cleaned up') + server.done() + server.close() + t.end() +}) |