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