From b07cd9d2841d5ff06b958c18c670cfa5e6960e94 Mon Sep 17 00:00:00 2001 From: elweyn Date: Sun, 9 Jul 2023 10:01:39 +0200 Subject: [PATCH] Set both parallel mutation in a promise.all block. --- .../src/graphql/resolver/semaphore.test.ts | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/backend/src/graphql/resolver/semaphore.test.ts b/backend/src/graphql/resolver/semaphore.test.ts index a3624f189..366b94d72 100644 --- a/backend/src/graphql/resolver/semaphore.test.ts +++ b/backend/src/graphql/resolver/semaphore.test.ts @@ -221,24 +221,30 @@ describe('semaphore', () => { }) it('does throw error on second redeem call', async () => { - const redeem1 = mutate({ - mutation: redeemTransactionLink, - variables: { - code: myCode, - }, - }) - const redeem2 = mutate({ - mutation: redeemTransactionLink, - variables: { - code: myCode, - }, - }) - await expect(redeem1).resolves.toMatchObject({ - errors: undefined, - }) - await expect(redeem2).resolves.toMatchObject({ - errors: [new GraphQLError('Transaction link already redeemed')], - }) + const result = await Promise.all([ + mutate({ + mutation: redeemTransactionLink, + variables: { + code: myCode, + }, + }), + mutate({ + mutation: redeemTransactionLink, + variables: { + code: myCode, + }, + }), + ]) + expect(result).toContainEqual( + expect.objectContaining({ + errors: [new GraphQLError('Transaction link already redeemed')], + }), + ) + expect(result).toContainEqual( + expect.objectContaining({ + errors: undefined, + }), + ) }) }) })