You've already forked pigallery2
mirror of
https://github.com/bpatrik/pigallery2.git
synced 2025-12-01 22:52:06 +02:00
Implementing .saved_searches.pg2conf saving tests
This commit is contained in:
76
test/backend/unit/model/sql/PersonManager.spec.ts
Normal file
76
test/backend/unit/model/sql/PersonManager.spec.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
import {expect} from 'chai';
|
||||
import {PersonManager} from '../../../../../src/backend/model/database/sql/PersonManager';
|
||||
import {DBTestHelper} from '../../../DBTestHelper';
|
||||
import {TestHelper} from './TestHelper';
|
||||
import {PhotoDTO} from '../../../../../src/common/entities/PhotoDTO';
|
||||
import {Utils} from '../../../../../src/common/Utils';
|
||||
import {PersonWithSampleRegion} from '../../../../../src/common/entities/PersonDTO';
|
||||
import {DirectoryDTO} from '../../../../../src/common/entities/DirectoryDTO';
|
||||
import {VideoDTO} from '../../../../../src/common/entities/VideoDTO';
|
||||
import {SQLConnection} from '../../../../../src/backend/model/database/sql/SQLConnection';
|
||||
import {PersonEntry} from '../../../../../src/backend/model/database/sql/enitites/PersonEntry';
|
||||
|
||||
|
||||
// to help WebStorm to handle the test cases
|
||||
declare let describe: any;
|
||||
declare const after: any;
|
||||
declare const before: any;
|
||||
declare const it: any;
|
||||
|
||||
|
||||
describe = DBTestHelper.describe();
|
||||
|
||||
describe('PersonManager', (sqlHelper: DBTestHelper) => {
|
||||
|
||||
|
||||
let dir: DirectoryDTO;
|
||||
|
||||
let v: VideoDTO;
|
||||
let p: PhotoDTO;
|
||||
let p2: PhotoDTO;
|
||||
let pFaceLess: PhotoDTO;
|
||||
|
||||
let savedPerson: PersonWithSampleRegion[] = [];
|
||||
|
||||
const setUpSqlDB = async () => {
|
||||
await sqlHelper.initDB();
|
||||
const directory: DirectoryDTO = TestHelper.getDirectoryEntry();
|
||||
p = TestHelper.getPhotoEntry1(directory);
|
||||
p2 = TestHelper.getPhotoEntry2(directory);
|
||||
const pFaceLessTmp = TestHelper.getPhotoEntry3(directory);
|
||||
delete pFaceLessTmp.metadata.faces;
|
||||
v = TestHelper.getVideoEntry1(directory);
|
||||
|
||||
dir = await DBTestHelper.persistTestDir(directory);
|
||||
p = (dir.media.filter(m => m.name === p.name)[0] as any);
|
||||
p2 = (dir.media.filter(m => m.name === p2.name)[0] as any);
|
||||
pFaceLess = (dir.media[2] as any);
|
||||
v = (dir.media.filter(m => m.name === v.name)[0] as any);
|
||||
savedPerson = await (await SQLConnection.getConnection()).getRepository(PersonEntry).find({
|
||||
relations: ['sampleRegion',
|
||||
'sampleRegion.media',
|
||||
'sampleRegion.media.directory']
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
before(async () => {
|
||||
await setUpSqlDB();
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await sqlHelper.clearDB();
|
||||
});
|
||||
|
||||
|
||||
it('should get person', async () => {
|
||||
const pm = new PersonManager();
|
||||
const person = Utils.clone(savedPerson[0]);
|
||||
|
||||
expect(await pm.get('Boba Fett')).to.deep.equal(person);
|
||||
|
||||
expect((await pm.get('Boba Fett') as PersonWithSampleRegion).sampleRegion.media.name).to.deep.equal(p.name);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user