tests in queue throw in joinQueue

This commit is contained in:
nicksales72
2026-03-11 12:51:20 -04:00
parent 3a9084a2cf
commit 15b08f1774

View File

@@ -5,7 +5,8 @@ const mocks = {
db: { db: {
query: { query: {
matchParticipantPlayer: { findMany: mock() }, matchParticipantPlayer: { findMany: mock() },
playerRating: { findFirst: mock() } playerRating: { findFirst: mock() },
matchQueue: { findFirst: mock() }
}, },
delete: mock() delete: mock()
} }
@@ -38,6 +39,7 @@ describe('joinQueue', () => {
beforeEach(() => { beforeEach(() => {
mocks.db.query.matchParticipantPlayer.findMany.mockReset(); mocks.db.query.matchParticipantPlayer.findMany.mockReset();
mocks.db.query.playerRating.findFirst.mockReset(); mocks.db.query.playerRating.findFirst.mockReset();
mocks.db.query.matchQueue.findFirst.mockReset();
mocks.db.delete.mockReset(); mocks.db.delete.mockReset();
}); });
@@ -70,4 +72,16 @@ describe('joinQueue', () => {
'No rating found — please re-register' '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');
});
}); });