diff --git a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts index 5320d568d..f53710613 100644 --- a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts +++ b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts @@ -45,12 +45,13 @@ describe('RemoveUserFromSharedVault', () => { it('should remove user from shared vault', async () => { const useCase = createUseCase() - await useCase.execute({ + const result = await useCase.execute({ originatorUuid: '00000000-0000-0000-0000-000000000000', sharedVaultUuid: '00000000-0000-0000-0000-000000000000', userUuid: '00000000-0000-0000-0000-000000000001', }) + expect(result.isFailed()).toBeFalsy() expect(sharedVaultUserRepository.remove).toHaveBeenCalledWith(sharedVaultUser) }) @@ -99,7 +100,7 @@ describe('RemoveUserFromSharedVault', () => { }) expect(result.isFailed()).toBe(true) - expect(result.getError()).toBe('Only owner can remove users from shared vault') + expect(result.getError()).toBe('Only owner can remove other users from shared vault') }) it('should remove shared vault user if user is owner and is being force removed', async () => { diff --git a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts index d21fb46fc..f567e0d30 100644 --- a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts +++ b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts @@ -37,8 +37,9 @@ export class RemoveUserFromSharedVault implements UseCaseInterface { } const originatorIsOwner = sharedVault.props.userUuid.equals(originatorUuid) - if (!originatorIsOwner) { - return Result.fail('Only owner can remove users from shared vault') + const removingSomeoneElseWhenNotOwner = !originatorIsOwner && userUuid !== originatorUuid + if (removingSomeoneElseWhenNotOwner) { + return Result.fail('Only owner can remove other users from shared vault') } const removingOwner = sharedVault.props.userUuid.equals(userUuid)