Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKat Marchán <kzm@sykosomatic.org>2015-08-11 21:38:02 +0300
committerRebecca Turner <me@re-becca.org>2015-08-14 22:25:49 +0300
commitcf38208a94906d61e4679998d5bc3dbb75346db9 (patch)
tree1e70d7e8a9526b4329281090241240a219c8546c /test
parent3d26dab4ed7c5ce15cc45a5ca479affc84612b55 (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.js133
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()
+})