38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
const request = require("supertest")
|
|
const {
|
|
expect,
|
|
describe,
|
|
test,
|
|
} = require('@jest/globals');
|
|
|
|
const app = require("../app")
|
|
|
|
const { signupUser } = require("./data/user.test.data")
|
|
const res = require("express/lib/response");
|
|
|
|
describe("Test user authentication", () => {
|
|
test("should register a user", async () => {
|
|
const response = await request(app)
|
|
.post("/api/auth/register")
|
|
.send(signupUser);
|
|
expect(response.header['content-type']).toBe('application/json; charset=utf-8');
|
|
expect(response.statusCode).toBe(200);
|
|
});
|
|
|
|
test("Test user login", async() => {
|
|
let response = await request(app)
|
|
.post("/api/auth/login")
|
|
.send({
|
|
email: 'ryan.nolan@bullpen.com',
|
|
password: 'nolan'
|
|
});
|
|
expect(response.statusCode).toBe(200);
|
|
expect(response.body.accessToken).not.toBeNull();
|
|
const user = response.body;
|
|
response = await request(app)
|
|
.get(`/api/users/${user.id}`)
|
|
.set('x-access-token', user.accessToken);
|
|
expect(response.statusCode).toBe(200);
|
|
});
|
|
});
|