diff --git a/src/backend/model/jobs/jobs/Job.ts b/src/backend/model/jobs/jobs/Job.ts index 3ce98a24..bbd76fc0 100644 --- a/src/backend/model/jobs/jobs/Job.ts +++ b/src/backend/model/jobs/jobs/Job.ts @@ -77,6 +77,10 @@ export abstract class Job implements IJob { }; } + /** + * Returns with true if more steps are left or false if no more + * @protected + */ protected abstract step(): Promise; protected abstract init(): Promise; diff --git a/test/backend/unit/model/sql/IndexingManager.ts b/test/backend/unit/model/sql/IndexingManager.ts index b53f1495..64fbf083 100644 --- a/test/backend/unit/model/sql/IndexingManager.ts +++ b/test/backend/unit/model/sql/IndexingManager.ts @@ -15,7 +15,7 @@ import {PersonManager} from '../../../../../src/backend/model/database/sql/Perso import {DBTestHelper} from '../../../DBTestHelper'; import {VersionManager} from '../../../../../src/backend/model/database/sql/VersionManager'; import {DiskMangerWorker} from '../../../../../src/backend/model/threading/DiskMangerWorker'; -import {ReIndexingSensitivity, ServerConfig} from '../../../../../src/common/config/private/PrivateConfig'; +import {ReIndexingSensitivity} from '../../../../../src/common/config/private/PrivateConfig'; const deepEqualInAnyOrder = require('deep-equal-in-any-order'); const chai = require('chai'); @@ -473,6 +473,32 @@ describe('IndexingManager', (sqlHelper: DBTestHelper) => { }); + it('should reset DB', async () => { + const gm = new GalleryManagerTest(); + const im = new IndexingManagerTest(); + + const parent = TestHelper.getRandomizedDirectoryEntry(); + const p1 = TestHelper.getRandomizedPhotoEntry(parent, 'Photo1'); + const p2 = TestHelper.getRandomizedPhotoEntry(parent, 'Photo2'); + + DirectoryDTOUtils.packDirectory(parent); + await im.saveToDB(Utils.clone(parent)); + + const conn = await SQLConnection.getConnection(); + const selected = await gm.selectParentDir(conn, parent.name, parent.path); + await gm.fillParentDir(conn, selected); + + DirectoryDTOUtils.packDirectory(selected); + removeIds(selected); + expect(Utils.clone(Utils.removeNullOrEmptyObj(selected))) + .to.deep.equal(Utils.clone(Utils.removeNullOrEmptyObj(parent))); + + await im.resetDB(); + const selectReset = await gm.selectParentDir(conn, parent.name, parent.path); + expect(selectReset).to.deep.equal(undefined); + }); + + (it('should save 1500 photos', async () => { const conn = await SQLConnection.getConnection(); const gm = new GalleryManagerTest();