Versie 0.2.0

This commit is contained in:
Atreides Assets committed 2026-10-29 11:57:29 +01:00
commit e77d8fd373
495 files changed
+81026

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
// Generated, do not edit. sha256:e5fc151e66dc65fbc4a3b92e5607e9c11c93c4da41ceb4d39b4aa634c9cb82b3
import { describe, it, beforeEach, mock } from 'node:test';
import assert from 'node:assert/strict';
import { toSearchName } from '../../shared/search-name.js';
import { createDbHarness } from '../helpers/db-node.mjs';
const harness = createDbHarness();
mock.module('../../server/db.js', { namedExports: harness.exports });
const { getAssetNote, setAssetNote } = await import('../../server/data/asset-notes.js');
let btc;
beforeEach(() => {
harness.recreate();
harness.exports.run(
`INSERT INTO Asset (symbol, name, searchName, kind, unit, subunit, decimals, displayUnit) VALUES ('BTC','Bitcoin',?,'crypto','BTC',NULL,8,'unit')`,
[toSearchName('Bitcoin')]);
btc = harness.exports.lastId();
});
describe('setAssetNote / getAssetNote', () => {
it('geeft null zonder notitie en de tekst na opslaan', async () => {
assert.equal(getAssetNote(btc), null);
const uit = await setAssetNote(btc, '2026-09-26 14:32 gekocht na de dip');
assert.equal(uit.body, '2026-09-26 14:32 gekocht na de dip');
assert.equal(getAssetNote(btc).body, uit.body);
assert.ok(uit.createdAt);
});
it('wijzigt de ene notitie en laat createdAt staan', async () => {
await setAssetNote(btc, 'eerste');
harness.exports.run(`UPDATE AssetNote SET createdAt = '2026-01-01T00:00:00.000Z'`);
const uit = await setAssetNote(btc, 'tweede');
assert.equal(uit.body, 'tweede');
assert.equal(uit.createdAt, '2026-01-01T00:00:00.000Z');
assert.equal(harness.exports.one(`SELECT COUNT(*) AS n FROM AssetNote`).n, 1, 'één notitie per asset');
});
it('haalt de rij weg bij een lege of alleen-witruimte notitie', async () => {
await setAssetNote(btc, 'iets');
assert.equal(await setAssetNote(btc, ' \n '), null);
assert.equal(harness.exports.one(`SELECT COUNT(*) AS n FROM AssetNote`).n, 0);
await setAssetNote(btc, 'iets');
assert.equal(await setAssetNote(btc, null), null, 'geen tekst is leeg');
});
it('weigert een onbekend asset', async () => {
await assert.rejects(() => setAssetNote(btc + 99, 'x'), /does not exist/);
});
it('verdwijnt met zijn asset', async () => {
await setAssetNote(btc, 'weg ermee');
harness.exports.run(`DELETE FROM Asset WHERE id = ?`, [btc]);
assert.equal(harness.exports.one(`SELECT COUNT(*) AS n FROM AssetNote`).n, 0);
});
});