@ -1,8 +1,8 @@
import { AlbumService } from './album.service' ;
import { AuthUserDto } from '../../decorators/auth-user.decorator' ;
import { BadRequestException , NotFoundException , ForbiddenException } from '@nestjs/common' ;
import { AlbumEntity } from '@app/infra' ;
import { AlbumResponseDto , ICryptoRepository } from '@app/domain' ;
import { AlbumEntity , UserEntity } from '@app/infra' ;
import { AlbumResponseDto , ICryptoRepository , mapUser } from '@app/domain' ;
import { AddAssetsResponseDto } from './response-dto/add-assets-response.dto' ;
import { IAlbumRepository } from './album-repository' ;
import { DownloadService } from '../../modules/download/download.service' ;
@ -21,6 +21,18 @@ describe('Album service', () => {
email : 'auth@test.com' ,
isAdmin : false ,
} ) ;
const albumOwner : UserEntity = Object . freeze ( {
. . . authUser ,
firstName : 'auth' ,
lastName : 'user' ,
createdAt : 'date' ,
updatedAt : 'date' ,
profileImagePath : '' ,
shouldChangePassword : false ,
oauthId : '' ,
tags : [ ] ,
} ) ;
const albumId = 'f19ab956-4761-41ea-a5d6-bae948308d58' ;
const sharedAlbumOwnerId = '2222' ;
const sharedAlbumSharedAlsoWithId = '3333' ;
@ -28,7 +40,8 @@ describe('Album service', () => {
const _getOwnedAlbum = ( ) = > {
const albumEntity = new AlbumEntity ( ) ;
albumEntity . ownerId = authUser . id ;
albumEntity . ownerId = albumOwner . id ;
albumEntity . owner = albumOwner ;
albumEntity . id = albumId ;
albumEntity . albumName = 'name' ;
albumEntity . createdAt = 'date' ;
@ -42,7 +55,8 @@ describe('Album service', () => {
const _getOwnedSharedAlbum = ( ) = > {
const albumEntity = new AlbumEntity ( ) ;
albumEntity . ownerId = authUser . id ;
albumEntity . ownerId = albumOwner . id ;
albumEntity . owner = albumOwner ;
albumEntity . id = albumId ;
albumEntity . albumName = 'name' ;
albumEntity . createdAt = 'date' ;
@ -68,6 +82,7 @@ describe('Album service', () => {
const _getSharedWithAuthUserAlbum = ( ) = > {
const albumEntity = new AlbumEntity ( ) ;
albumEntity . ownerId = sharedAlbumOwnerId ;
albumEntity . owner = albumOwner ;
albumEntity . id = albumId ;
albumEntity . albumName = 'name' ;
albumEntity . createdAt = 'date' ;
@ -174,22 +189,22 @@ describe('Album service', () => {
} ) ;
it ( 'gets an owned album' , async ( ) = > {
const ownerId = authUser . id ;
const albumId = 'f19ab956-4761-41ea-a5d6-bae948308d58' ;
const albumEntity = _getOwnedAlbum ( ) ;
albumRepositoryMock . get . mockImplementation ( ( ) = > Promise . resolve < AlbumEntity > ( albumEntity ) ) ;
const expectedResult : AlbumResponseDto = {
ownerId : albumOwner.id ,
owner : mapUser ( albumOwner ) ,
id : albumId ,
albumName : 'name' ,
albumThumbnailAssetId : null ,
createdAt : 'date' ,
updatedAt : 'date' ,
id : 'f19ab956-4761-41ea-a5d6-bae948308d58' ,
ownerId ,
shared : false ,
assets : [ ] ,
sharedUsers : [ ] ,
assets : [ ] ,
albumThumbnailAssetId : null ,
shared : false ,
assetCount : 0 ,
} ;
await expect ( sut . getAlbumInfo ( authUser , albumId ) ) . resolves . toEqual ( expectedResult ) ;
@ -473,6 +488,7 @@ describe('Album service', () => {
const albumEntity = new AlbumEntity ( ) ;
albumEntity . ownerId = authUser . id ;
albumEntity . owner = albumOwner ;
albumEntity . id = albumId ;
albumEntity . albumName = 'name' ;
albumEntity . createdAt = 'date' ;