// Generated, do not edit. sha256:39bdc4d7a5d894186d06fb91a6bd592c985897d148807099ceaa0916d6fa3d0d import { describe, it, beforeEach } from 'node:test'; import assert from 'node:assert/strict'; const opslag = new Map(); globalThis.sessionStorage = { getItem: k => (opslag.has(k) ? opslag.get(k) : null), setItem: (k, v) => { opslag.set(k, String(v)); }, removeItem: k => { opslag.delete(k); }, }; const { setRowFocus, takeRowFocus } = await import('../../client/ui/row-focus.js'); const { CONFIG } = await import('../../shared/config.js'); beforeEach(() => opslag.clear()); describe('een focus doorgeven', () => { it('geeft het id terug aan de tabel die hij noemt', () => { setRowFocus('transfers', 184); assert.equal(takeRowFocus('transfers'), 184); }); it('geeft niets aan een ANDERE tabel, en laat de focus staan', () => { setRowFocus('accounts', 3); assert.equal(takeRowFocus('assets'), null); assert.equal(takeRowFocus('accounts'), 3, 'de focus is niet opgegeten door de verkeerde tabel'); }); it('werkt maar één keer', () => { setRowFocus('trades', 7); assert.equal(takeRowFocus('trades'), 7); assert.equal(takeRowFocus('trades'), null, 'anders springt de tabel bij elk volgend bezoek'); }); it('slaat niets op zonder tabel of zonder id', () => { setRowFocus('', 3); setRowFocus('assets', null); assert.equal(opslag.get(CONFIG.FOCUS.ROW), undefined); }); }); describe('een focus die te oud is', () => { it('vervalt en wordt opgeruimd', () => { opslag.set(CONFIG.FOCUS.ROW, JSON.stringify({ table: 'assets', id: 9, at: Date.now() - CONFIG.FOCUS.ROW_TTL_MS - 1, })); assert.equal(takeRowFocus('assets'), null); assert.equal(opslag.get(CONFIG.FOCUS.ROW), undefined, 'blijft niet liggen tot het volgende bezoek'); }); it('een lading zonder tijdstempel vervalt ook', () => { opslag.set(CONFIG.FOCUS.ROW, JSON.stringify({ table: 'assets', id: 9 })); assert.equal(takeRowFocus('assets'), null); }); }); describe('een onleesbare lading', () => { it('geeft niets terug en blijft niet liggen', () => { opslag.set(CONFIG.FOCUS.ROW, '{kapot'); assert.equal(takeRowFocus('assets'), null); assert.equal(opslag.get(CONFIG.FOCUS.ROW), undefined); }); it('geeft niets terug als er helemaal niets staat', () => { assert.equal(takeRowFocus('assets'), null); }); });