diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts index 686a81a69f..13813131d7 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts @@ -279,6 +279,37 @@ describe('UserWorkspaceService', () => { pictureUrl: undefined, }); + expect(userWorkspaceRepository.save).toHaveBeenCalledWith(userWorkspace); + expect(result).toEqual(userWorkspace); + }); + + it("should create a user workspace without a default avatar url if it's a new user with an empty picture url", async () => { + const userId = 'user-id'; + const workspaceId = 'workspace-id'; + const userWorkspace = { userId, workspaceId } as UserWorkspace; + + jest + .spyOn(userWorkspaceRepository, 'create') + .mockReturnValue(userWorkspace); + jest + .spyOn(userWorkspaceRepository, 'save') + .mockResolvedValue(userWorkspace); + + const uploadImageFromUrlSpy = jest + .spyOn(fileUploadService, 'uploadImageFromUrl') + .mockResolvedValue({ + files: [{ path: 'path/to/file', token: 'token' }], + } as SignedFilesResult); + + const result = await service.create({ + userId, + workspaceId, + isExistingUser: false, + pictureUrl: '', + }); + + expect(uploadImageFromUrlSpy).not.toHaveBeenCalled(); + expect(userWorkspaceRepository.create).toHaveBeenCalledWith({ userId, workspaceId, diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts index 0886b4b663..2d02c50aa8 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts @@ -362,7 +362,7 @@ export class UserWorkspaceService extends TypeOrmQueryService { } } - if (!isDefined(pictureUrl)) return; + if (!isDefined(pictureUrl) || pictureUrl === '') return; const { files } = await this.fileUploadService.uploadImageFromUrl({ imageUrl: pictureUrl,