From 62b63638d92adfe672e24384bbffe4424752860d Mon Sep 17 00:00:00 2001 From: idubnori Date: Wed, 8 Oct 2025 05:53:54 +0900 Subject: [PATCH] test: add asset activity e2e tests --- e2e/src/api/specs/activity.e2e-spec.ts | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/e2e/src/api/specs/activity.e2e-spec.ts b/e2e/src/api/specs/activity.e2e-spec.ts index 1d8bb447fd..3a9f2650c2 100644 --- a/e2e/src/api/specs/activity.e2e-spec.ts +++ b/e2e/src/api/specs/activity.e2e-spec.ts @@ -5,6 +5,7 @@ import { AssetMediaResponseDto, LoginResponseDto, ReactionType, + addAssetsToAlbum, createActivity as create, createAlbum, removeAssetFromAlbum, @@ -158,6 +159,59 @@ describe('/activities', () => { expect(body.length).toBe(1); expect(body[0]).toEqual(reaction); }); + + it('asset activity: add 2 assets to album, get activity with both asset ids', async () => { + const asset1 = await utils.createAsset(admin.accessToken); + const asset2 = await utils.createAsset(admin.accessToken); + + await addAssetsToAlbum( + { + id: album.id, + bulkIdsDto: { ids: [asset1.id, asset2.id] }, + }, + { headers: asBearerAuth(admin.accessToken) }, + ); + + const { status, body } = await request(app) + .get('/activities') + .query({ albumId: album.id }) + .set('Authorization', `Bearer ${admin.accessToken}`); + expect(status).toBe(200); + expect(body.length).toBe(1); + expect(body[0].type).toBe('asset'); + expect(body[0].assetIds).toEqual(expect.arrayContaining([asset1.id, asset2.id])); + }); + + it('asset activity: add 2 assets and remove 1 asset, get activity with remaining asset id', async () => { + const asset1 = await utils.createAsset(admin.accessToken); + const asset2 = await utils.createAsset(admin.accessToken); + + await addAssetsToAlbum( + { + id: album.id, + bulkIdsDto: { ids: [asset1.id, asset2.id] }, + }, + { headers: asBearerAuth(admin.accessToken) }, + ); + await removeAssetFromAlbum( + { + id: album.id, + bulkIdsDto: { + ids: [asset1.id], + }, + }, + { headers: asBearerAuth(admin.accessToken) }, + ); + + const { status, body } = await request(app) + .get('/activities') + .query({ albumId: album.id }) + .set('Authorization', `Bearer ${admin.accessToken}`); + expect(status).toBe(200); + expect(body.length).toBe(1); + expect(body[0].type).toBe('asset'); + expect(body[0].assetIds).toEqual(expect.arrayContaining([asset2.id])); + }); }); describe('POST /activities', () => {