37 lines
1.1 KiB
JavaScript
37 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")
|
|
|
|
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("should login user", async() => {
|
|
let response = await request(app)
|
|
.post("/api/auth/login")
|
|
.send({
|
|
email: signupUser.auth.email,
|
|
password: signupUser.auth.password,
|
|
});
|
|
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);
|
|
});
|
|
});
|