Files
obelisk/tests/recap-capture-query.test.mjs
T
tommy0103 80c125a572 build(app): migrate to electron-vite (main/preload/renderer), keep electron-builder (Phase 5d-3a)
Restructure app into src/{main,preload,renderer}; electron.vite.config.ts builds
all three (each main module its own input so CJS requires + the indexer worker
resolve; better-sqlite3 externalized; Vue plugin for renderer). main/index.js
paths updated for the out/ layout + ELECTRON_RENDERER_URL. Still JS/CJS — TS+ESM
and core consumption are the next stages. Verified: npm run dev launches clean;
electron-vite build succeeds; root suite 119/119.
2026-07-09 10:20:18 +08:00

29 lines
948 B
JavaScript

import { test } from 'node:test';
import assert from 'node:assert/strict';
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
const { buildRecapExportQuery, cleanRecapFilename } = require('../app/src/main/recap-capture-query.js');
test('recap export query includes the selected recap filename', () => {
const query = buildRecapExportQuery({
cardIdx: 3,
archetype: 'shipper',
filename: 'recap-2026-06.json',
});
assert.equal(query, 'card=3&arch=shipper&file=recap-2026-06.json');
});
test('recap export query strips paths before passing filename to renderer', () => {
assert.equal(cleanRecapFilename('/tmp/recap-2026-W24.json'), 'recap-2026-W24.json');
assert.equal(
buildRecapExportQuery({
cardIdx: '2',
archetype: 'architect',
filename: '/Users/dev/.obelisk/recap/recap-2026-W24.json',
}),
'card=2&arch=architect&file=recap-2026-W24.json',
);
});