From 1d030594c6a458ff131c40f0a1d8c7a7b9b3dadf Mon Sep 17 00:00:00 2001 From: mgabor <> Date: Wed, 17 Apr 2024 13:31:57 +0200 Subject: [PATCH] add new test --- server/src/services/album.service.spec.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/server/src/services/album.service.spec.ts b/server/src/services/album.service.spec.ts index 99ab7bd570..f967162fc9 100644 --- a/server/src/services/album.service.spec.ts +++ b/server/src/services/album.service.spec.ts @@ -599,6 +599,17 @@ describe(AlbumService.name, () => { expect(albumMock.addAssetIds).toHaveBeenCalledWith('album-123', ['asset-1', 'asset-2', 'asset-3']); }); + it('should not allow a shared user with viewer access to add assets', async () => { + accessMock.album.checkSharedAlbumAccess.mockResolvedValue(new Set([])); + albumMock.getById.mockResolvedValue(_.cloneDeep(albumStub.sharedWithUser)); + + await expect( + sut.addAssets(authStub.user2, 'album-123', { ids: ['asset-1', 'asset-2', 'asset-3'] }), + ).rejects.toBeInstanceOf(BadRequestException); + + expect(albumMock.update).not.toHaveBeenCalled(); + }); + it('should allow a shared link user to add assets', async () => { accessMock.album.checkSharedLinkAccess.mockResolvedValue(new Set(['album-123'])); accessMock.asset.checkOwnerAccess.mockResolvedValue(new Set(['asset-1', 'asset-2', 'asset-3']));