fix: add browser path loader for Node.js tests, update test:modal-utils script

This commit is contained in:
Ulas
2026-03-31 23:34:43 +02:00
parent 431d6af356
commit ce38f7041b
4 changed files with 33 additions and 3 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "oikos", "name": "oikos",
"version": "1.0.0", "version": "0.3.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "oikos", "name": "oikos",
"version": "1.0.0", "version": "0.3.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"bcrypt": "^5.1.1", "bcrypt": "^5.1.1",
+1 -1
View File
@@ -15,7 +15,7 @@
"test:calendar": "node --experimental-sqlite test-calendar.js", "test:calendar": "node --experimental-sqlite test-calendar.js",
"test:ncb": "node --experimental-sqlite test-notes-contacts-budget.js", "test:ncb": "node --experimental-sqlite test-notes-contacts-budget.js",
"test:ux-utils": "node test-ux-utils.js", "test:ux-utils": "node test-ux-utils.js",
"test:modal-utils": "node test-modal-utils.js", "test:modal-utils": "node --loader ./test-browser-loader.mjs test-modal-utils.js",
"test": "node --experimental-sqlite test-db.js && node --experimental-sqlite test-dashboard.js && node --experimental-sqlite test-tasks.js && node --experimental-sqlite test-shopping.js && node --experimental-sqlite test-meals.js && node --experimental-sqlite test-calendar.js && node --experimental-sqlite test-notes-contacts-budget.js && npm run test:ux-utils && npm run test:modal-utils" "test": "node --experimental-sqlite test-db.js && node --experimental-sqlite test-dashboard.js && node --experimental-sqlite test-tasks.js && node --experimental-sqlite test-shopping.js && node --experimental-sqlite test-meals.js && node --experimental-sqlite test-calendar.js && node --experimental-sqlite test-notes-contacts-budget.js && npm run test:ux-utils && npm run test:modal-utils"
}, },
"dependencies": { "dependencies": {
+29
View File
@@ -0,0 +1,29 @@
/**
* test-browser-loader.mjs — Node.js Custom Loader für Tests
* Zweck: Browser-absolute Pfade (/foo.js) auf Stubs umleiten, damit
* Frontend-Module im Node-Test-Kontext importierbar sind.
* Verwendung: node --loader ./test-browser-loader.mjs test-xxx.js
* Dependencies: none
*/
const STUBS = {
'/i18n.js': `
export const t = (key) => key;
export const initI18n = async () => {};
export const setLocale = async () => {};
export const getLocale = () => 'de';
export const getSupportedLocales = () => ['de', 'en'];
export const formatDate = (d) => String(d);
export const formatTime = (d) => String(d);
`,
};
export async function resolve(specifier, context, nextResolve) {
if (STUBS[specifier]) {
return {
shortCircuit: true,
url: `data:text/javascript,${encodeURIComponent(STUBS[specifier])}`,
};
}
return nextResolve(specifier, context);
}
+1
View File
@@ -7,6 +7,7 @@
import { test } from 'node:test'; import { test } from 'node:test';
import assert from 'node:assert/strict'; import assert from 'node:assert/strict';
// /i18n.js wird durch test-browser-loader.mjs gemockt (--loader Flag)
const { wireBlurValidation, btnSuccess, btnError } = await import('./public/components/modal.js'); const { wireBlurValidation, btnSuccess, btnError } = await import('./public/components/modal.js');
const _origSetTimeout = setTimeout; const _origSetTimeout = setTimeout;