diff --git a/package-lock.json b/package-lock.json
index 76ed765..d0230c3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
"@capacitor/ios": "^4.6.3",
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
- "@solid-primitives/i18n": "^1.1.3",
+ "@solid-primitives/i18n": "^1.1.4",
"@solidjs/router": "^0.7.0",
"@suid/icons-material": "^0.5.8",
"@suid/material": "^0.10.1",
@@ -34,14 +34,15 @@
"ol": "^7.2.2",
"osmtogeojson": "^3.0.0-beta.5",
"patch-package": "^6.5.1",
- "pouchdb": "^8.0.0",
- "pouchdb-browser": "^8.0.0",
+ "pouchdb": "^8.0.1",
+ "pouchdb-browser": "^8.0.1",
"proj4": "^2.8.1",
"solid-js": "^1.6.10",
"vite-plugin-solid-svg": "^0.6.0"
},
"devDependencies": {
"@capacitor/cli": "^4.6.3",
+ "@solidjs/testing-library": "^0.6.1",
"@testing-library/jest-dom": "^5.16.5",
"@types/lodash": "^4.14.191",
"@types/memoizee": "^0.4.8",
@@ -51,7 +52,6 @@
"license-checker": "^25.0.1",
"license-compatibility-checker": "^0.3.5",
"license-report": "^6.3.0",
- "solid-testing-library": ">=0.5.0",
"typescript": "^4.9.5",
"vite": ">=4.1.1",
"vite-plugin-solid": "^2.5.0",
@@ -1436,9 +1436,9 @@
}
},
"node_modules/@solid-primitives/i18n": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@solid-primitives/i18n/-/i18n-1.1.3.tgz",
- "integrity": "sha512-VbX4FZfIkqIrelFeGC1KgXME4aeS7kiAFb6IhIY7Ey4S+wOSGCiEesIwGeMHxyJ1xk0yCFS5YUVEXcQIBZysVw==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@solid-primitives/i18n/-/i18n-1.1.4.tgz",
+ "integrity": "sha512-TKTcwItoL+T0QJCf1W5Hav5Zdl4JKwWWdri34cgBpUEx4eSb5CouH3Mr3kH9cknaETV2oVU9lJObeCoQikLj0w==",
"peerDependencies": {
"solid-js": "^1.6.0"
}
@@ -1451,6 +1451,21 @@
"solid-js": "^1.5.3"
}
},
+ "node_modules/@solidjs/testing-library": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@solidjs/testing-library/-/testing-library-0.6.1.tgz",
+ "integrity": "sha512-cS91EDopZhpVa+F55vLxbT+xrQEtc6jIYhXEleu7aCtPRKuBAhKGYQoiOAWrxRd2cXu678dhR8kuwp7ZS2gkNQ==",
+ "dev": true,
+ "dependencies": {
+ "@testing-library/dom": "^8.20.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "solid-js": ">=1.0.0"
+ }
+ },
"node_modules/@suid/base": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/@suid/base/-/base-0.6.3.tgz",
@@ -1575,9 +1590,9 @@
}
},
"node_modules/@testing-library/dom": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.1.tgz",
- "integrity": "sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz",
+ "integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
@@ -6882,9 +6897,9 @@
}
},
"node_modules/pouchdb": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pouchdb/-/pouchdb-8.0.0.tgz",
- "integrity": "sha512-VYaPQ1CPTNjZ+Ltm/pl4llaDMTRCZrpg7TZ/2BpeA8RrawE66CRW7aGSWzgQarW8j/KHwEz5cVv/mwj9RMnCTg==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/pouchdb/-/pouchdb-8.0.1.tgz",
+ "integrity": "sha512-xp5S83JOQn2NAL0ZQ5CU+DI26V9/YrYuVtkXnbGEIDrYiFfj5A8gAcfbxefXb/9O+Qn4n5RaT/19+8UBSZ42sw==",
"dependencies": {
"abort-controller": "3.0.0",
"buffer-from": "1.1.2",
@@ -6907,9 +6922,9 @@
}
},
"node_modules/pouchdb-browser": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pouchdb-browser/-/pouchdb-browser-8.0.0.tgz",
- "integrity": "sha512-ygZa7QPcab9Rz+gkhJfc+XM1H932FhMurrbjIGC6/RTBOXyN7ZighX6pCxtbju/h5AVXPQQoilJE2O7MYasa0g==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/pouchdb-browser/-/pouchdb-browser-8.0.1.tgz",
+ "integrity": "sha512-wXObS1Layd/gBRKwa6EBS99tFY9G3VPaMRu8ffWCohkpi9PZCm3z1xeB4P4S9Qecf0u5so+rxvbVVyTtgdhvaQ==",
"dependencies": {
"immediate": "3.3.0",
"spark-md5": "3.0.2",
@@ -7615,21 +7630,6 @@
"solid-js": "^1.3"
}
},
- "node_modules/solid-testing-library": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/solid-testing-library/-/solid-testing-library-0.5.0.tgz",
- "integrity": "sha512-vr4Ke9Dq3bUFLaXOcN8/IVn2e9Q37w4vdmoIOmFBIPs7iCJX9IxuC0IdQqK8nzBZMQqceijkfyCE3Qc407KmaA==",
- "dev": true,
- "dependencies": {
- "@testing-library/dom": "^8.19.0"
- },
- "engines": {
- "node": ">= 14"
- },
- "peerDependencies": {
- "solid-js": ">=1.0.0"
- }
- },
"node_modules/sort-asc": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz",
diff --git a/package.json b/package.json
index cbebb37..2cf5399 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"license": "GPL-3.0-only",
"devDependencies": {
"@capacitor/cli": "^4.6.3",
+ "@solidjs/testing-library": "^0.6.1",
"@testing-library/jest-dom": "^5.16.5",
"@types/lodash": "^4.14.191",
"@types/memoizee": "^0.4.8",
@@ -23,7 +24,6 @@
"license-checker": "^25.0.1",
"license-compatibility-checker": "^0.3.5",
"license-report": "^6.3.0",
- "solid-testing-library": ">=0.5.0",
"typescript": "^4.9.5",
"vite": ">=4.1.1",
"vite-plugin-solid": "^2.5.0",
@@ -41,7 +41,7 @@
"@capacitor/ios": "^4.6.3",
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
- "@solid-primitives/i18n": "^1.1.3",
+ "@solid-primitives/i18n": "^1.1.4",
"@solidjs/router": "^0.7.0",
"@suid/icons-material": "^0.5.8",
"@suid/material": "^0.10.1",
@@ -54,8 +54,8 @@
"ol": "^7.2.2",
"osmtogeojson": "^3.0.0-beta.5",
"patch-package": "^6.5.1",
- "pouchdb": "^8.0.0",
- "pouchdb-browser": "^8.0.0",
+ "pouchdb": "^8.0.1",
+ "pouchdb-browser": "^8.0.1",
"proj4": "^2.8.1",
"solid-js": "^1.6.10",
"vite-plugin-solid-svg": "^0.6.0"
diff --git a/src/db/gpx.test.ts b/src/db/gpx.test.ts
new file mode 100644
index 0000000..9e5ebc8
--- /dev/null
+++ b/src/db/gpx.test.ts
@@ -0,0 +1,5 @@
+import { describe, it } from 'vitest';
+
+describe('putNewGpx', () => {
+ it("doesn't return an error", () => {});
+});
diff --git a/src/db/rte.ts b/src/db/rte.ts
index 3e16bb8..c915c78 100644
--- a/src/db/rte.ts
+++ b/src/db/rte.ts
@@ -64,7 +64,7 @@ const compactRteOrTrkseg = (params: any) => {
export const compactRteOrTrksegDebounced = debounceByParam(
compactRteOrTrkseg,
property('id'),
- 3600000 * (1 + Math.random())
+ 60 * 60 * 1000 * (1 + Math.random())
);
export const getRteDocs: ({
diff --git a/vitest.config.ts b/vitest.config.ts
new file mode 100644
index 0000000..3bb2acf
--- /dev/null
+++ b/vitest.config.ts
@@ -0,0 +1,30 @@
+///
+///
+
+import { defineConfig } from 'vite';
+import solidPlugin from 'vite-plugin-solid';
+
+export default defineConfig({
+ plugins: [solidPlugin()],
+ server: {
+ port: 3000,
+ },
+ test: {
+ environment: 'jsdom',
+ globals: true,
+ transformMode: { web: [/\.[jt]sx?$/] },
+ setupFiles: ['node_modules/@testing-library/jest-dom/extend-expect.js'],
+ // otherwise, solid would be loaded twice:
+ deps: { registerNodeLoader: true },
+ // if you have few tests, try commenting one
+ // or both out to improve performance:
+ threads: false,
+ isolate: false,
+ },
+ build: {
+ target: 'esnext',
+ },
+ resolve: {
+ conditions: ['development', 'browser'],
+ },
+});