From db8b98ca166c7ccb1b12d2bdcc13580811820dfe Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Tue, 19 Nov 2024 14:39:13 +0000 Subject: [PATCH] test(user): write tests for registerUser --- packages/backend/src/models/user.test.js | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/packages/backend/src/models/user.test.js b/packages/backend/src/models/user.test.js index 51496d4a..2112c4fd 100644 --- a/packages/backend/src/models/user.test.js +++ b/packages/backend/src/models/user.test.js @@ -1154,4 +1154,34 @@ describe('User model', () => { expect(markInstallationCompletedSpy).toHaveBeenCalledOnce(); expect(await adminUser.login('sample')).toBe(true); }); + + describe('registerUser', () => { + it('should register user with user role and given data', async () => { + const userRole = await createRole({ name: 'User' }); + + const user = await User.registerUser({ + fullName: 'Sample user', + email: 'user@automatisch.io', + password: 'sample-password', + }); + + expect(user).toMatchObject({ + fullName: 'Sample user', + email: 'user@automatisch.io', + roleId: userRole.id, + }); + + expect(await user.login('sample-password')).toBe(true); + }); + + it('should throw not found error when user role does not exist', async () => { + expect(() => + User.registerUser({ + fullName: 'Sample user', + email: 'user@automatisch.io', + password: 'sample-password', + }) + ).rejects.toThrowError('NotFoundError'); + }); + }); });