// 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); }); });