Skip to content

Commit

Permalink
E2E tests for authentication controller
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrodecf committed Jan 30, 2024
1 parent 0143351 commit d0bcb85
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions src/controller/session/authUser.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import { afterAll, beforeAll, describe, expect, test } from 'vitest'
import { app } from '../../app'
import request from 'supertest'

describe('User Login E2E', () => {
beforeAll(async () => {
await app.ready()
})

afterAll(async () => {
await app.close()
})

test('should be able to login', async () => {
const email = '[email protected]'
const name = 'John'
const surname = 'Doe'
const password = 'password'

await request(app.server).post('/user').send({
email,
name,
surname,
password,
})

const userData = await request(app.server)
.post('/login')
.send({ email, password })

expect(userData.statusCode).toEqual(200)
expect(userData.body).toEqual({
user: expect.any(Object),
token: expect.any(String),
})
})

test('should not be able to login because the password is incorrect', async () => {
const email = '[email protected]'
const name = 'John'
const surname = 'Doe'
const password = 'password'
const wrongPassword = 'wrongPassword'

await request(app.server).post('/user').send({
email,
name,
surname,
password,
})

const userData = await request(app.server)
.post('/login')
.send({ email, password: wrongPassword })

expect(userData.statusCode).toEqual(401)
expect(userData.body.user).toEqual(expect.objectContaining({}))
})

test('should not be able to login because the email is incorrect', async () => {
const email = '[email protected]'
const wrongEmail = '[email protected]'
const name = 'John'
const surname = 'Doe'
const password = 'password'

await request(app.server).post('/user').send({
email,
name,
surname,
password,
})

const userData = await request(app.server)
.post('/login')
.send({ email: wrongEmail, password })

expect(userData.statusCode).toEqual(401)
expect(userData.body.user).toEqual(expect.objectContaining({}))
})
})

0 comments on commit d0bcb85

Please sign in to comment.