Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,67 @@
|
||||
// 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);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user