From 15b08f1774121080a7d68dcc8f350d33a6b4ab1f Mon Sep 17 00:00:00 2001 From: nicksales72 Date: Wed, 11 Mar 2026 12:51:20 -0400 Subject: [PATCH] tests in queue throw in joinQueue --- test/match/queue.test.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/match/queue.test.ts b/test/match/queue.test.ts index 223a0a2..0f31738 100644 --- a/test/match/queue.test.ts +++ b/test/match/queue.test.ts @@ -5,7 +5,8 @@ const mocks = { db: { query: { matchParticipantPlayer: { findMany: mock() }, - playerRating: { findFirst: mock() } + playerRating: { findFirst: mock() }, + matchQueue: { findFirst: mock() } }, delete: mock() } @@ -38,6 +39,7 @@ describe('joinQueue', () => { beforeEach(() => { mocks.db.query.matchParticipantPlayer.findMany.mockReset(); mocks.db.query.playerRating.findFirst.mockReset(); + mocks.db.query.matchQueue.findFirst.mockReset(); mocks.db.delete.mockReset(); }); @@ -70,4 +72,16 @@ describe('joinQueue', () => { 'No rating found — please re-register' ); }); + + it('throws when user is already in queue', async() => { + mocks.db.delete.mockReturnValue({ + where: mock(() => ({ returning: mock(() => Promise.resolve([])) })) + }); + + mocks.db.query.matchParticipantPlayer.findMany.mockResolvedValue([]); + mocks.db.query.playerRating.findFirst.mockResolvedValue({ elo: 1500 }); + mocks.db.query.matchQueue.findFirst.mockResolvedValue({ userId: 'user-1', teamId: 'team-1' }); + + await expect(joinQueue('user-1', 'team-1')).rejects.toThrow('Already in queue'); + }); });