Added Jest for testing both front and backend

This commit is contained in:
Jori Lallo
2016-09-09 01:35:39 -07:00
parent f4d1e62c13
commit 458735f341
21 changed files with 370 additions and 18 deletions

View File

@@ -0,0 +1,16 @@
exports[`test should require authentication 1`] = `
Object {
"message": "Authentication required"
}
`;
exports[`test should return known user 1`] = `
Object {
"data": Object {
"avatarUrl": "http://example.com/avatar.png",
"id": "86fde1d4-0050-428f-9f0b-0bf77f8bdf61",
"name": "User 1",
"username": "user1"
}
}
`;

View File

@@ -10,8 +10,6 @@ export default function auth({ require = true } = {}) {
return async function authMiddleware(ctx, next) {
let token;
console.log(ctx.body);
const authorizationHeader = ctx.request.get('authorization');
if (authorizationHeader) {
const parts = authorizationHeader.split(' ');

37
server/api/user.test.js Normal file
View File

@@ -0,0 +1,37 @@
import TestServer from 'fetch-test-server';
import app from '..';
import { User } from '../models';
import { flushdb, seed, sequelize } from '../test/support';
const server = new TestServer(app.callback());
beforeEach(seed);
afterEach(flushdb);
afterAll(() => server.close());
afterAll(() => sequelize.close());
it('should return known user', async () => {
const user = await User.findOne({
where: {
email: 'user1@example.com',
},
});
const res = await server.post('/api/user.info', {
body: { token: user.getJwtToken() },
});
const body = await res.json();
expect(res.status).toEqual(200);
expect(body).toMatchSnapshot();
});
it('should require authentication', async () => {
const res = await server.post('/api/user.info');
const body = await res.json();
expect(res.status).toEqual(401);
expect(body).toMatchSnapshot();
});