diff --git a/src/routes/test/user-test.js b/src/routes/test/user-test.js index 83848a1d9..55652f58a 100644 --- a/src/routes/test/user-test.js +++ b/src/routes/test/user-test.js @@ -10,6 +10,7 @@ var config = require('../../config.js'), database = require('../../database.js'), tokendb = require('../../tokendb.js'), expect = require('expect.js'), + groups = require('../../groups.js'), mailer = require('../../mailer.js'), superagent = require('superagent'), nock = require('nock'), @@ -271,6 +272,24 @@ describe('User API', function () { }); }); + it('set second user as admin succeeds', function (done) { + superagent.put(SERVER_URL + '/api/v1/users/' + USERNAME_1 + '/set_groups') + .query({ access_token: token }) + .send({ groupIds: [ groups.ADMIN_GROUP_ID ] }) + .end(function (err, res) { + expect(res.statusCode).to.equal(204); + + superagent.get(SERVER_URL + '/api/v1/users/' + USERNAME_1) + .query({ access_token: token }) + .end(function (err, res) { + expect(res.statusCode).to.equal(200); + expect(res.body.admin).to.equal(true); + + done(); + }); + }); + }); + it('remove itself from admins fails', function (done) { superagent.put(SERVER_URL + '/api/v1/users/' + USERNAME_0 + '/set_groups') .query({ access_token: token }) @@ -281,6 +300,24 @@ describe('User API', function () { }); }); + it('remove second user as admin succeeds', function (done) { + superagent.put(SERVER_URL + '/api/v1/users/' + USERNAME_1 + '/set_groups') + .query({ access_token: token }) + .send({ groupIds: [] }) + .end(function (err, res) { + expect(res.statusCode).to.equal(204); + + superagent.get(SERVER_URL + '/api/v1/users/' + USERNAME_1) + .query({ access_token: token }) + .end(function (err, res) { + expect(res.statusCode).to.equal(200); + expect(res.body.admin).to.equal(false); + + done(); + }); + }); + }); + it('create user missing username fails', function (done) { superagent.post(SERVER_URL + '/api/v1/users') .query({ access_token: token })