From 702a39af9ae9ffa179d7760dc677d00997d7b6bf Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Tue, 31 Jan 2023 21:34:30 +0100 Subject: [PATCH] test case deleted User --- .../src/graphql/resolver/UserResolver.test.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index 3b2ff0a73..b1b1b015f 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -671,6 +671,40 @@ describe('UserResolver', () => { expect(logger.error).toBeCalledWith('No user with this credentials', variables.email) }) }) + + describe('user is in database but deleted', () => { + beforeAll(async () => { + jest.clearAllMocks() + const user = await userFactory(testEnv, bibiBloxberg) + // Hint: softRemove does not soft-delete the email contact of this user + await user.softRemove() + result = await mutate({ mutation: login, variables }) + }) + + afterAll(async () => { + await cleanDB() + }) + + it('returns an error', () => { + expect(result).toEqual( + expect.objectContaining({ + errors: [ + new GraphQLError('This user was permanently deleted. Contact support for questions'), + ], + }), + ) + }) + + it('logs the error thrown', () => { + expect(logger.error).toBeCalledWith( + 'This user was permanently deleted. Contact support for questions', + expect.objectContaining({ + firstName: bibiBloxberg.firstName, + lastName: bibiBloxberg.lastName, + }), + ) + }) + }) }) describe('logout', () => {