bullpen/backend/test/player.test.js

45 lines
1.5 KiB
JavaScript

const request = require("supertest")
const {
expect,
describe,
test,
} = require('@jest/globals');
const app = require("../app")
const { signupPlayer } = require("./data/player.test.data")
describe("Test player creation, authentication and retrieval", () => {
test("should create a player", async () => {
let response = await request(app)
.post("/api/auth/login")
.send({
email: 'coach@example.com',
password: 'hash1234'
});
const user = response.body;
response = await request(app)
.post("/api/players")
.set('x-access-token', user.accessToken)
.send(signupPlayer);
expect(response.header['content-type']).toBe('application/json; charset=utf-8');
expect(response.statusCode).toBe(201);
const player = response.body;
response = await request(app)
.get(`/api/players/${player.id}`)
.set('x-access-token', user.accessToken);
expect(response.header['content-type']).toBe('application/json; charset=utf-8');
expect(response.statusCode).toBe(200);
expect(response.body).toEqual(player);
response = await request(app)
.get('/api/players')
.set('x-access-token', user.accessToken);
expect(response.header['content-type']).toBe('application/json; charset=utf-8');
expect(response.statusCode).toBe(200);
expect(response.body.filter(p => p.User.id === player.User.id).shift()).toEqual(player);
});
});