You've already forked pigallery2
mirror of
https://github.com/bpatrik/pigallery2.git
synced 2025-07-15 01:24:25 +02:00
improving tests
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user