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
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)
|
|
})
|
|
}) |