Updated frontend
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
'use strict';
|
||||
|
||||
const { TEST_CREDS, login, request, app } = require('./setup');
|
||||
|
||||
describe('Auth — POST /api/auth/login', () => {
|
||||
test('valid credentials return a token', async () => {
|
||||
const res = await request(app)
|
||||
.post('/api/auth/login')
|
||||
.send(TEST_CREDS);
|
||||
|
||||
expect(res.status).toBe(200);
|
||||
expect(res.body).toHaveProperty('token');
|
||||
expect(typeof res.body.token).toBe('string');
|
||||
expect(res.body.token.length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
test('wrong password returns 401', async () => {
|
||||
const res = await request(app)
|
||||
.post('/api/auth/login')
|
||||
.send({ uid: TEST_CREDS.uid, password: 'wrongpassword' });
|
||||
|
||||
expect(res.status).toBe(401);
|
||||
});
|
||||
|
||||
test('unknown user returns 401', async () => {
|
||||
const res = await request(app)
|
||||
.post('/api/auth/login')
|
||||
.send({ uid: 'no_such_user_xyz', password: 'whatever' });
|
||||
|
||||
expect(res.status).toBe(401);
|
||||
});
|
||||
|
||||
test('missing body fields returns an error', async () => {
|
||||
const res = await request(app)
|
||||
.post('/api/auth/login')
|
||||
.send({});
|
||||
|
||||
expect(res.status).toBeGreaterThanOrEqual(400);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Auth — POST /api/auth/logout', () => {
|
||||
test('logout with a valid token returns 200', async () => {
|
||||
const token = await login();
|
||||
const res = await request(app)
|
||||
.post('/api/auth/logout')
|
||||
.set('auth-token', token);
|
||||
|
||||
expect(res.status).toBe(200);
|
||||
expect(res.body).toHaveProperty('message');
|
||||
});
|
||||
|
||||
test('logout without a token still returns 200', async () => {
|
||||
const res = await request(app).post('/api/auth/logout');
|
||||
expect(res.status).toBe(200);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user