diff --git a/src/routes/test/users-test.js b/src/routes/test/users-test.js index a97c8281f..62ab7296d 100644 --- a/src/routes/test/users-test.js +++ b/src/routes/test/users-test.js @@ -932,5 +932,44 @@ describe('Users API', function () { }); }); }); + + describe('transfer ownership', function () { + + before(function (done) { + superagent.post(SERVER_URL + '/api/v1/users') + .query({ access_token: token }) + .send({ username: USERNAME_1, email: EMAIL_1 }) + .end(function (error, result) { + expect(error).to.not.be.ok(); + expect(result.statusCode).to.equal(201); + + user_1 = result.body; + token_1 = hat(8 * 32); + + // HACK to get a token for second user (passwords are generated and the user should have gotten a password setup link...) + tokendb.add({ id: 'tid-3', accessToken: token_1, identifier: user_1.id, clientId: 'test-client-id', expires: Date.now() + 10000, scope: 'unused', name: 'fromtest' }, done); + }); + }); + + it('succeeds', function (done) { + superagent.post(SERVER_URL + '/api/v1/users/' + user_1.id + '/make_owner') + .query({ access_token: token }) + .send({}) + .end(function (error, result) { + expect(error).to.not.be.ok(); + expect(result.statusCode).to.equal(204); + + superagent.get(SERVER_URL + '/api/v1/users/' + user_0.id) + .query({ access_token: token_1 }) + .end(function (error, result) { + expect(error).to.not.be.ok(); + expect(result.statusCode).to.equal(200); + expect(result.body.role).to.equal('user'); + + done(); + }); + }); + }); + }); });