From ccc16b4083acb5c2607af5e20b7dd58c92d27bd7 Mon Sep 17 00:00:00 2001 From: elweyn Date: Tue, 19 Jul 2022 13:09:44 +0200 Subject: [PATCH] Test that an already confirmed contribution can not be deleted. --- .../resolver/ContributionResolver.test.ts | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/backend/src/graphql/resolver/ContributionResolver.test.ts b/backend/src/graphql/resolver/ContributionResolver.test.ts index 0fcd0f5af..b584624c2 100644 --- a/backend/src/graphql/resolver/ContributionResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionResolver.test.ts @@ -4,6 +4,7 @@ import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { adminUpdateContribution, + confirmContribution, createContribution, deleteContribution, updateContribution, @@ -573,8 +574,8 @@ describe('ContributionResolver', () => { describe('wrong contribution id', () => { it('returns an error', async () => { await expect( - query({ - query: deleteContribution, + mutate({ + mutation: deleteContribution, variables: { id: -1, }, @@ -594,8 +595,8 @@ describe('ContributionResolver', () => { variables: { email: 'peter@lustig.de', password: 'Aa12345_' }, }) await expect( - query({ - query: deleteContribution, + mutate({ + mutation: deleteContribution, variables: { id: result.data.createContribution.id, }, @@ -611,8 +612,8 @@ describe('ContributionResolver', () => { describe('User deletes own contribution', () => { it('deletes successfully', async () => { await expect( - query({ - query: deleteContribution, + mutate({ + mutation: deleteContribution, variables: { id: result.data.createContribution.id, }, @@ -620,6 +621,37 @@ describe('ContributionResolver', () => { ).resolves.toBeTruthy() }) }) + + describe('User deletes already confirmed contribution', () => { + it('throws an error', async () => { + await query({ + query: login, + variables: { email: 'peter@lustig.de', password: 'Aa12345_' }, + }) + await mutate({ + mutation: confirmContribution, + variables: { + id: result.data.createContribution.id, + }, + }) + await query({ + query: login, + variables: { email: 'bibi@bloxberg.de', password: 'Aa12345_' }, + }) + await expect( + mutate({ + mutation: deleteContribution, + variables: { + id: result.data.createContribution.id, + }, + }), + ).resolves.toEqual( + expect.objectContaining({ + errors: [new GraphQLError('A confirmed contribution can not be deleted')], + }), + ) + }) + }) }) }) })