1
0
mirror of https://github.com/bpatrik/pigallery2.git synced 2025-07-15 01:24:25 +02:00

improving tests

This commit is contained in:
Patrik J. Braun
2018-03-30 15:30:30 -04:00
parent 9412fcba4d
commit f8e4542c66
144 changed files with 2041 additions and 2001 deletions

View File

@ -1,9 +1,9 @@
import {expect} from "chai";
import * as fs from "fs";
import * as path from "path";
import {Config} from "../../../../../common/config/private/Config";
import {DatabaseType} from "../../../../../common/config/private/IPrivateConfig";
import {SQLConnection} from "../../../../../backend/model/sql/SQLConnection";
import {expect} from 'chai';
import * as fs from 'fs';
import * as path from 'path';
import {Config} from '../../../../../common/config/private/Config';
import {DatabaseType} from '../../../../../common/config/private/IPrivateConfig';
import {SQLConnection} from '../../../../../backend/model/sql/SQLConnection';
import {
CameraMetadataEntity,
GPSMetadataEntity,
@ -11,21 +11,21 @@ import {
PhotoEntity,
PhotoMetadataEntity,
PositionMetaDataEntity
} from "../../../../../backend/model/sql/enitites/PhotoEntity";
import {SearchManager} from "../../../../../backend/model/sql/SearchManager";
import {AutoCompleteItem, SearchTypes} from "../../../../../common/entities/AutoCompleteItem";
import {SearchResultDTO} from "../../../../../common/entities/SearchResultDTO";
import {DirectoryEntity} from "../../../../../backend/model/sql/enitites/DirectoryEntity";
} from '../../../../../backend/model/sql/enitites/PhotoEntity';
import {SearchManager} from '../../../../../backend/model/sql/SearchManager';
import {AutoCompleteItem, SearchTypes} from '../../../../../common/entities/AutoCompleteItem';
import {SearchResultDTO} from '../../../../../common/entities/SearchResultDTO';
import {DirectoryEntity} from '../../../../../backend/model/sql/enitites/DirectoryEntity';
describe('SearchManager', () => {
const tempDir = path.join(__dirname, "../../tmp");
const dbPath = path.join(tempDir, "test.db");
const tempDir = path.join(__dirname, '../../tmp');
const dbPath = path.join(tempDir, 'test.db');
const dir = new DirectoryEntity();
dir.name = "wars dir";
dir.path = ".";
dir.name = 'wars dir';
dir.path = '.';
dir.lastModified = Date.now();
dir.lastScanned = null;
@ -49,9 +49,9 @@ describe('SearchManager', () => {
cd.fStop = 1;
cd.exposure = 1;
cd.focalLength = 1;*/
cd.lens = "Lens";
cd.lens = 'Lens';
const m = new PhotoMetadataEntity();
m.keywords = ["apple"];
m.keywords = ['apple'];
m.cameraData = cd;
m.positionData = pd;
m.size = sd;
@ -60,24 +60,24 @@ describe('SearchManager', () => {
const d = new PhotoEntity();
d.name = "test photo.jpg";
d.name = 'test photo.jpg';
d.directory = dir;
d.metadata = m;
return d;
};
let p = getPhoto();
p.metadata.keywords = ["Boba Fett", "star wars", "Anakin", "death star"];
p.metadata.positionData.city = "Mos Eisley";
p.metadata.positionData.country = "Tatooine";
p.name = "sw1";
p.metadata.keywords = ['Boba Fett', 'star wars', 'Anakin', 'death star'];
p.metadata.positionData.city = 'Mos Eisley';
p.metadata.positionData.country = 'Tatooine';
p.name = 'sw1';
let p2 = getPhoto();
p2.metadata.keywords = ["Padmé Amidala", "star wars", "Natalie Portman", "death star"];
p2.metadata.positionData.city = "Derem City";
p2.metadata.positionData.state = "Research City";
p2.metadata.positionData.country = "Kamino";
p2.name = "sw2";
p2.metadata.keywords = ['Padmé Amidala', 'star wars', 'Natalie Portman', 'death star'];
p2.metadata.positionData.city = 'Derem City';
p2.metadata.positionData.state = 'Research City';
p2.metadata.positionData.country = 'Kamino';
p2.name = 'sw2';
const setUpSqlDB = async () => {
if (fs.existsSync(dbPath)) {
@ -127,68 +127,68 @@ describe('SearchManager', () => {
return a.text.localeCompare(b.text);
};
expect((await sm.autocomplete("tat"))).to.deep.equal([new AutoCompleteItem("Tatooine", SearchTypes.position)]);
expect((await sm.autocomplete("star"))).to.deep.equal([new AutoCompleteItem("star wars", SearchTypes.keyword),
new AutoCompleteItem("death star", SearchTypes.keyword)]);
expect((await sm.autocomplete('tat'))).to.deep.equal([new AutoCompleteItem('Tatooine', SearchTypes.position)]);
expect((await sm.autocomplete('star'))).to.deep.equal([new AutoCompleteItem('star wars', SearchTypes.keyword),
new AutoCompleteItem('death star', SearchTypes.keyword)]);
expect((await sm.autocomplete("wars"))).to.deep.equal([new AutoCompleteItem("star wars", SearchTypes.keyword),
new AutoCompleteItem("wars dir", SearchTypes.directory)]);
expect((await sm.autocomplete('wars'))).to.deep.equal([new AutoCompleteItem('star wars', SearchTypes.keyword),
new AutoCompleteItem('wars dir', SearchTypes.directory)]);
expect((await sm.autocomplete("arch"))).eql([new AutoCompleteItem("Research City", SearchTypes.position)]);
expect((await sm.autocomplete("a")).sort(cmp)).eql([
new AutoCompleteItem("Boba Fett", SearchTypes.keyword),
new AutoCompleteItem("star wars", SearchTypes.keyword),
new AutoCompleteItem("Anakin", SearchTypes.keyword),
new AutoCompleteItem("death star", SearchTypes.keyword),
new AutoCompleteItem("Padmé Amidala", SearchTypes.keyword),
new AutoCompleteItem("Natalie Portman", SearchTypes.keyword),
new AutoCompleteItem("Kamino", SearchTypes.position),
new AutoCompleteItem("Tatooine", SearchTypes.position),
new AutoCompleteItem("wars dir", SearchTypes.directory),
new AutoCompleteItem("Research City", SearchTypes.position)].sort(cmp));
expect((await sm.autocomplete('arch'))).eql([new AutoCompleteItem('Research City', SearchTypes.position)]);
expect((await sm.autocomplete('a')).sort(cmp)).eql([
new AutoCompleteItem('Boba Fett', SearchTypes.keyword),
new AutoCompleteItem('star wars', SearchTypes.keyword),
new AutoCompleteItem('Anakin', SearchTypes.keyword),
new AutoCompleteItem('death star', SearchTypes.keyword),
new AutoCompleteItem('Padmé Amidala', SearchTypes.keyword),
new AutoCompleteItem('Natalie Portman', SearchTypes.keyword),
new AutoCompleteItem('Kamino', SearchTypes.position),
new AutoCompleteItem('Tatooine', SearchTypes.position),
new AutoCompleteItem('wars dir', SearchTypes.directory),
new AutoCompleteItem('Research City', SearchTypes.position)].sort(cmp));
expect((await sm.autocomplete("sw")).sort(cmp)).to.deep.equal([new AutoCompleteItem("sw1", SearchTypes.image),
new AutoCompleteItem("sw2", SearchTypes.image)].sort(cmp));
expect((await sm.autocomplete('sw')).sort(cmp)).to.deep.equal([new AutoCompleteItem('sw1', SearchTypes.image),
new AutoCompleteItem('sw2', SearchTypes.image)].sort(cmp));
});
it('should search', async () => {
let sm = new SearchManager();
expect((await sm.search("sw", null))).to.deep.equal(<SearchResultDTO>{
searchText: "sw",
expect((await sm.search('sw', null))).to.deep.equal(<SearchResultDTO>{
searchText: 'sw',
searchType: null,
directories: [],
photos: [p, p2],
resultOverflow: false
});
expect((await sm.search("Tatooine", SearchTypes.position))).to.deep.equal(<SearchResultDTO>{
searchText: "Tatooine",
expect((await sm.search('Tatooine', SearchTypes.position))).to.deep.equal(<SearchResultDTO>{
searchText: 'Tatooine',
searchType: SearchTypes.position,
directories: [],
photos: [p],
resultOverflow: false
});
expect((await sm.search("ortm", SearchTypes.keyword))).to.deep.equal(<SearchResultDTO>{
searchText: "ortm",
expect((await sm.search('ortm', SearchTypes.keyword))).to.deep.equal(<SearchResultDTO>{
searchText: 'ortm',
searchType: SearchTypes.keyword,
directories: [],
photos: [p2],
resultOverflow: false
});
expect((await sm.search("ortm", SearchTypes.keyword))).to.deep.equal(<SearchResultDTO>{
searchText: "ortm",
expect((await sm.search('ortm', SearchTypes.keyword))).to.deep.equal(<SearchResultDTO>{
searchText: 'ortm',
searchType: SearchTypes.keyword,
directories: [],
photos: [p2],
resultOverflow: false
});
expect((await sm.search("wa", SearchTypes.keyword))).to.deep.equal(<SearchResultDTO>{
searchText: "wa",
expect((await sm.search('wa', SearchTypes.keyword))).to.deep.equal(<SearchResultDTO>{
searchText: 'wa',
searchType: SearchTypes.keyword,
directories: [dir],
photos: [p, p2],
@ -200,36 +200,36 @@ describe('SearchManager', () => {
it('should instant search', async () => {
let sm = new SearchManager();
expect((await sm.instantSearch("sw"))).to.deep.equal({
searchText: "sw",
expect((await sm.instantSearch('sw'))).to.deep.equal({
searchText: 'sw',
directories: [],
photos: [p, p2],
resultOverflow: false
});
expect((await sm.instantSearch("Tatooine"))).to.deep.equal({
searchText: "Tatooine",
expect((await sm.instantSearch('Tatooine'))).to.deep.equal({
searchText: 'Tatooine',
directories: [],
photos: [p],
resultOverflow: false
});
expect((await sm.instantSearch("ortm"))).to.deep.equal({
searchText: "ortm",
expect((await sm.instantSearch('ortm'))).to.deep.equal({
searchText: 'ortm',
directories: [],
photos: [p2],
resultOverflow: false
});
expect((await sm.instantSearch("ortm"))).to.deep.equal({
searchText: "ortm",
expect((await sm.instantSearch('ortm'))).to.deep.equal({
searchText: 'ortm',
directories: [],
photos: [p2],
resultOverflow: false
});
expect((await sm.instantSearch("wa"))).to.deep.equal({
searchText: "wa",
expect((await sm.instantSearch('wa'))).to.deep.equal({
searchText: 'wa',
directories: [dir],
photos: [p, p2],
resultOverflow: false