Skip to content

Commit

Permalink
Extract authentication test helper
Browse files Browse the repository at this point in the history
  • Loading branch information
lkrnac committed Dec 17, 2016
1 parent 600d3dc commit 54b3f1a
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 41 deletions.
61 changes: 20 additions & 41 deletions test/models/user.spec.js
Expand Up @@ -27,51 +27,30 @@ describe('/users endpoint', () => {
});

it('should allow read users after login', (done) => {
server.json('post', '/api/users/login')
.send({
username: 'admin',
password: 'janodemp-default'
})
.expect(200, (error, response) => {
assert(typeof response.body === 'object');
const accessToken = response.body.id;
assert(accessToken, 'must have an access token');
assert.equal(response.body.userId, 1);

server.json('get', `/api/users?access_token=${accessToken}`)
.send()
.expect(200, (error2, response2) => {
assert(typeof response2.body === 'object');
assert(response2.body[0].id, 1);
assert(response2.body[0].username, 'admin');
done();
});
});
server.authenticated((accessToken) => {
server.json('get', `/api/users?access_token=${accessToken}`)
.send()
.expect(200, (error2, response2) => {
assert(typeof response2.body === 'object');
assert(response2.body[0].id, 1);
assert(response2.body[0].username, 'admin');
done();
});
});
});

it('should create admin user at start if doesn\'t exist', (done) => {
server.json('post', '/api/users/login')
.send({
username: 'admin',
password: 'janodemp-default'
})
.expect(200, (error, response) => {
assert(typeof response.body === 'object');
const accessToken = response.body.id;
assert(accessToken, 'must have an access token');
assert.equal(response.body.userId, 1);

server.json('get', `/api/users?access_token=${accessToken}`)
.send()
.expect(200, (error2, response2) => {
assert(typeof response2.body === 'object');
assert(response2.body[0].id, 1);
assert(response2.body[0].username, 'admin');
done();
});
});
server.authenticated((accessToken) => {
server.json('get', `/api/users?access_token=${accessToken}`)
.send()
.expect(200, (error2, response2) => {
assert(typeof response2.body === 'object');
assert(response2.body[0].id, 1);
assert(response2.body[0].username, 'admin');
done();
});
});
});

});

describe('Unexpected Usage', () => {
Expand Down
18 changes: 18 additions & 0 deletions test/test-utils/server-test-helpter.js
@@ -1,5 +1,6 @@
const app = require('../../server/server');
const request = require('supertest');
const assert = require('assert');

const json = (verb, url) => {
return request(app)[verb](url)
Expand All @@ -19,6 +20,23 @@ const stop = (done) => {
done();
};

const authenticated = (action) => {
json('post', '/api/users/login')
.send({
username: 'admin',
password: 'janodemp-default'
})
.expect(200, (error, response) => {
assert(typeof response.body === 'object');
const accessToken = response.body.id;
assert(accessToken, 'must have an access token');
assert.equal(response.body.userId, 1);

action(accessToken);
});
};

exports.json = json;
exports.start = start;
exports.stop = stop;
exports.authenticated = authenticated;

0 comments on commit 54b3f1a

Please sign in to comment.