90 lines
3.3 KiB
JavaScript
90 lines
3.3 KiB
JavaScript
const request = require("supertest")
|
|
const {
|
|
expect,
|
|
describe,
|
|
test,
|
|
} = require('@jest/globals');
|
|
|
|
const app = require("../app")
|
|
|
|
const { bullpenSession } = require("./data/bullpenSession.test.data")
|
|
|
|
describe("Test bullpen session", () => {
|
|
test("should create bullpen session with pitches", async () => {
|
|
let response = await request(app)
|
|
.post("/api/auth/login")
|
|
.send({
|
|
email: 'player@example.com',
|
|
password: 'hash1234'
|
|
});
|
|
const user = response.body;
|
|
|
|
response = await request(app)
|
|
.post("/api/bullpen_session")
|
|
.set('x-access-token', user.accessToken)
|
|
.send(bullpenSession);
|
|
|
|
expect(response.statusCode).toBe(201);
|
|
const bullpenSessionData = await response.body;
|
|
expect(bullpenSessionData).toBeDefined();
|
|
expect(bullpenSessionData.id).toBeDefined();
|
|
expect(bullpenSessionData.id).toBeGreaterThan(0);
|
|
expect(bullpenSessionData.pitches).toBeDefined();
|
|
expect(Array.isArray(bullpenSessionData.pitches)).toBe(true);
|
|
expect(bullpenSessionData.pitches.length).toBe(2);
|
|
});
|
|
|
|
test.skip("should get all bullpen sessions", async () => {
|
|
let response = await request(app)
|
|
.post("/api/auth/login")
|
|
.send({
|
|
email: 'player@example.com',
|
|
password: 'hash1234'
|
|
});
|
|
const user = response.body;
|
|
|
|
response = await request(app)
|
|
.get("/api/bullpen_session")
|
|
.set('x-access-token', user.accessToken);
|
|
|
|
expect(response.statusCode).toBe(200);
|
|
const bullpenSessionDataArray = await response.body;
|
|
expect(bullpenSessionDataArray).toBeDefined();
|
|
expect(Array.isArray(bullpenSessionDataArray)).toBe(true);
|
|
expect(bullpenSessionDataArray.length).toBe(1);
|
|
const bullpenSessionData = bullpenSessionDataArray[0];
|
|
expect(bullpenSessionData.id).toBeDefined();
|
|
expect(bullpenSessionData.id).toBeGreaterThan(0);
|
|
expect(bullpenSessionData.pitches).toBeDefined();
|
|
expect(Array.isArray(bullpenSessionData.pitches)).toBe(true);
|
|
expect(bullpenSessionData.pitches.length).toBe(2);
|
|
})
|
|
|
|
test("should get all bullpen sessions for user", async () => {
|
|
let response = await request(app)
|
|
.post("/api/auth/login")
|
|
.send({
|
|
email: 'player@example.com',
|
|
password: 'hash1234'
|
|
});
|
|
const user = response.body;
|
|
|
|
response = await request(app)
|
|
.get("/api/bullpen_session")
|
|
.set('x-access-token', user.accessToken)
|
|
.query({ user: user.id });
|
|
|
|
expect(response.statusCode).toBe(200);
|
|
const bullpenSessionDataArray = await response.body;
|
|
expect(bullpenSessionDataArray).toBeDefined();
|
|
expect(Array.isArray(bullpenSessionDataArray)).toBe(true);
|
|
expect(bullpenSessionDataArray.length).toBe(1);
|
|
const bullpenSessionData = bullpenSessionDataArray[0];
|
|
expect(bullpenSessionData.id).toBeDefined();
|
|
expect(bullpenSessionData.id).toBeGreaterThan(0);
|
|
expect(bullpenSessionData.pitches).toBeDefined();
|
|
expect(Array.isArray(bullpenSessionData.pitches)).toBe(true);
|
|
expect(bullpenSessionData.pitches.length).toBe(2);
|
|
})
|
|
})
|