You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.8 KiB
TypeScript

import supertest from "supertest"
import app from "../../server"
import { User } from '../../models/user'
const token = process.env.TOKEN_SECRET_TEST as string
const request = supertest(app);
const testUser: User = {
id: 1,
firstname: 'John',
lastname: 'Doe',
username: 'Jd',
password: 'password'
}
describe("Users handler", () => {
it('Should create a new user', async () => {
const response = await request
.post("/users")
.auth(token, {type: "bearer"})
.send(testUser);
expect(response.status).toBe(200)
})
it('Should authenticate a user', async () => {
const response = await request
.post("/users/auth")
.auth(token, {type: "bearer"})
.send(testUser);
expect(response.status).toBe(200)
})
it('Should index users', async () => {
const response = await request
.get("/users")
.auth(token, {type: "bearer"})
expect(response.status).toBe(200)
})
it('Should get user by id', async () => {
const response = await request
.get("/users/1")
.auth(token, {type: "bearer"})
expect(response.status).toBe(200)
})
it('Should update a user', async () => {
const updatedUser = {
id: 1,
firstname: 'Sara',
lastname: 'Doe',
username: 'Sd',
password: 'password123'
}
const response = await request
.put("/users/1")
.auth(token, {type: 'bearer'})
.send(updatedUser)
expect(response.status).toBe(200)
})
it('Should delete a user by id', async () => {
const response = await request
.delete("/users/1")
.auth(token, {type: 'bearer'})
expect(response.status).toBe(200)
})
})