Skip to content

Commit

Permalink
chore(server): trash e2e cleanup (#16423)
Browse files Browse the repository at this point in the history
  • Loading branch information
etnoy authored Feb 28, 2025
1 parent b3b15e9 commit bfcde05
Showing 1 changed file with 13 additions and 18 deletions.
31 changes: 13 additions & 18 deletions e2e/src/api/specs/trash.e2e-spec.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import { LoginResponseDto, getAssetInfo, getAssetStatistics, scanLibrary } from '@immich/sdk';
import { LoginResponseDto, getAssetInfo, getAssetStatistics } from '@immich/sdk';
import { existsSync } from 'node:fs';
import { Socket } from 'socket.io-client';
import { errorDto } from 'src/responses';
import { app, asBearerAuth, testAssetDir, testAssetDirInternal, utils } from 'src/utils';
import request from 'supertest';
import { afterAll, beforeAll, describe, expect, it } from 'vitest';

const scan = async (accessToken: string, id: string) => scanLibrary({ id }, { headers: asBearerAuth(accessToken) });

describe('/trash', () => {
let admin: LoginResponseDto;
let ws: Socket;
Expand Down Expand Up @@ -81,17 +79,15 @@ describe('/trash', () => {

utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);

await scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
await utils.scan(admin.accessToken, library.id);

const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
expect(assets.items.length).toBe(1);
const asset = assets.items[0];

await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });

await scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
await utils.scan(admin.accessToken, library.id);

const assetBefore = await utils.getAssetInfo(admin.accessToken, asset.id);
expect(assetBefore).toMatchObject({ isTrashed: true, isOffline: true });
Expand All @@ -116,17 +112,15 @@ describe('/trash', () => {

utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);

await scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
await utils.scan(admin.accessToken, library.id);

const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
expect(assets.items.length).toBe(1);
const asset = assets.items[0];

await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });

await scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
await utils.scan(admin.accessToken, library.id);

const assetBefore = await utils.getAssetInfo(admin.accessToken, asset.id);
expect(assetBefore).toMatchObject({ isTrashed: true, isOffline: true });
Expand Down Expand Up @@ -180,18 +174,15 @@ describe('/trash', () => {

utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);

await scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
await utils.scan(admin.accessToken, library.id);

const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
expect(assets.count).toBe(1);
const assetId = assets.items[0].id;

await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });

await scan(admin.accessToken, library.id);

await utils.waitForQueueFinish(admin.accessToken, 'library');
await utils.scan(admin.accessToken, library.id);

const before = await getAssetInfo({ id: assetId }, { headers: asBearerAuth(admin.accessToken) });
expect(before).toStrictEqual(expect.objectContaining({ id: assetId, isOffline: true }));
Expand All @@ -201,6 +192,8 @@ describe('/trash', () => {

const after = await getAssetInfo({ id: assetId }, { headers: asBearerAuth(admin.accessToken) });
expect(after).toStrictEqual(expect.objectContaining({ id: assetId, isOffline: true }));

utils.removeImageFile(`${testAssetDir}/temp/offline/offline.png`);
});
});

Expand Down Expand Up @@ -238,7 +231,7 @@ describe('/trash', () => {

utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);

await scan(admin.accessToken, library.id);
await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');

const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
Expand All @@ -247,7 +240,7 @@ describe('/trash', () => {

await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });

await scan(admin.accessToken, library.id);
await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');

const before = await utils.getAssetInfo(admin.accessToken, assetId);
Expand All @@ -261,6 +254,8 @@ describe('/trash', () => {

const after = await utils.getAssetInfo(admin.accessToken, assetId);
expect(after.isTrashed).toBe(true);

utils.removeImageFile(`${testAssetDir}/temp/offline/offline.png`);
});
});
});

0 comments on commit bfcde05

Please sign in to comment.