More tests
This commit is contained in:
parent
31669d8aac
commit
d8d15d9d83
|
@ -3,7 +3,7 @@ import shell from 'shelljs';
|
|||
|
||||
import PouchDB from 'pouchdb';
|
||||
|
||||
import { emptyRte, getRte, putNewRte, putRte } from './rte';
|
||||
import { getRte, putNewRte, putRte } from './rte';
|
||||
import { put } from './lib';
|
||||
import { emptyWpt } from './wpt';
|
||||
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import shell from 'shelljs';
|
||||
|
||||
import PouchDB from 'pouchdb';
|
||||
|
||||
import { appendTrkpt, getTrkseg, putTrkseg } from './trkseg';
|
||||
import getUri from '../lib/ids';
|
||||
|
||||
import { put } from './lib';
|
||||
import { emptyWpt } from './wpt';
|
||||
|
||||
const test = it;
|
||||
const jest = vi;
|
||||
|
||||
declare global {
|
||||
var db: any;
|
||||
var dbReady: boolean;
|
||||
}
|
||||
|
||||
const originalDb = globalThis.db;
|
||||
const originalDateNow = globalThis.Date.now;
|
||||
|
||||
describe('The trkseg module with a real db', () => {
|
||||
beforeEach(async () => {
|
||||
globalThis.db = new PouchDB('dyomedea', {
|
||||
auto_compaction: false,
|
||||
});
|
||||
globalThis.Date.now = () => 0;
|
||||
});
|
||||
afterEach(async () => {
|
||||
try {
|
||||
await db.destroy();
|
||||
} catch (err) {
|
||||
// console.error(err);
|
||||
await shell.exec('rm -rf $*$');
|
||||
}
|
||||
globalThis.db = undefined;
|
||||
globalThis.dbReady = false;
|
||||
globalThis.Date.now = originalDateNow;
|
||||
});
|
||||
it('can write and read a trkseg', async () => {
|
||||
const id = 'gpx/4320836036089189/3trk/000000/000000';
|
||||
const trkseg: Trkseg = {};
|
||||
const trksegPut = await putTrkseg(id, trkseg);
|
||||
const trksegGet = await getTrkseg({ id });
|
||||
expect(trksegGet).toEqual(trkseg);
|
||||
});
|
||||
it('can write and read a trkseg with trkpts', async () => {
|
||||
const id = 'whatever';
|
||||
const trkseg: Trkseg = {
|
||||
trkpt: [
|
||||
{
|
||||
$: { lat: 0, lon: 0 },
|
||||
},
|
||||
{
|
||||
$: { lat: 1, lon: 1 },
|
||||
},
|
||||
],
|
||||
};
|
||||
const trksegPut = await putTrkseg(id, trkseg);
|
||||
const trksegGet = await getTrkseg({ id });
|
||||
expect(trksegGet).toEqual(trkseg);
|
||||
});
|
||||
it('can read external trkpts ', async () => {
|
||||
const idTrkseg = 'gpx/4320836036089189/3trk/000000/000000';
|
||||
const idTrksegpt = 'gpx/4320836036089189/3trk/000000/000000/000035';
|
||||
const trkpt3: Wpt = {
|
||||
$: { lat: 3, lon: 3 },
|
||||
};
|
||||
const trkseg0: Trkseg = {
|
||||
trkpt: [
|
||||
{
|
||||
$: { lat: 1, lon: 1 },
|
||||
},
|
||||
{
|
||||
$: { lat: 2, lon: 2 },
|
||||
},
|
||||
],
|
||||
};
|
||||
const trkseg1: Trkseg = {
|
||||
trkpt: [
|
||||
{
|
||||
$: { lat: 1, lon: 1 },
|
||||
},
|
||||
{
|
||||
$: { lat: 2, lon: 2 },
|
||||
},
|
||||
trkpt3,
|
||||
],
|
||||
};
|
||||
const trksegPut = await putTrkseg(idTrkseg, trkseg0);
|
||||
await put(idTrksegpt, 'trkpt', () => trkpt3, emptyWpt);
|
||||
expect(await getTrkseg({ id: idTrkseg })).toEqual(trkseg1);
|
||||
});
|
||||
it('can can append a new trkpt ', async () => {
|
||||
const idTrkseg = 'gpx/4320836036089189/3trk/000000/000000';
|
||||
const trkpt3: Wpt = {
|
||||
$: { lat: 3, lon: 3 },
|
||||
};
|
||||
const trkseg0: Trkseg = {
|
||||
trkpt: [
|
||||
{
|
||||
$: { lat: 1, lon: 1 },
|
||||
},
|
||||
{
|
||||
$: { lat: 2, lon: 2 },
|
||||
},
|
||||
],
|
||||
};
|
||||
const trkseg1: Trkseg = {
|
||||
trkpt: [
|
||||
{
|
||||
$: { lat: 1, lon: 1 },
|
||||
},
|
||||
{
|
||||
$: { lat: 2, lon: 2 },
|
||||
},
|
||||
trkpt3,
|
||||
],
|
||||
};
|
||||
await putTrkseg(idTrkseg, trkseg0);
|
||||
await appendTrkpt({
|
||||
trksegIdObj: getUri('trkseg', idTrkseg),
|
||||
trkpt: trkpt3,
|
||||
});
|
||||
expect(await getTrkseg({ id: idTrkseg })).toEqual(trkseg1);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue