Files

36 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2026-10-29 11:57:29 +01:00
// Generated, do not edit. sha256:c6a688b05a3ee0ffe4f9c168acd72ea6bb6492b16f1c36d4741af1eab39eecdd
import { describe, it, mock } from 'node:test';
import assert from 'node:assert/strict';
import { ROUTE_KEYS } from '../../shared/config.js';
let dicht = new Set();
mock.module('../../client/license.js', { namedExports: { locked: f => dicht.has(f) } });
const { registerRoute, routePage } = await import('../../client/routes.js');
const thuis = { render: () => {} };
const belasting = { render: () => {} };
registerRoute(ROUTE_KEYS.HOME, thuis);
registerRoute(ROUTE_KEYS.TAXES, belasting, { feature: 'tax' });
describe('routePage', () => {
it('geeft de pagina van een geregistreerde route', () => {
dicht = new Set();
assert.equal(routePage(ROUTE_KEYS.HOME), thuis);
assert.equal(routePage(ROUTE_KEYS.TAXES), belasting);
});
it('geeft niets voor een route die de licentie uitzet, ook niet via het adres', () => {
dicht = new Set(['tax']);
assert.equal(routePage(ROUTE_KEYS.TAXES), null);
assert.equal(routePage(ROUTE_KEYS.HOME), thuis, 'een route zonder vlag blijft staan');
});
it('geeft niets voor een route die niet geregistreerd is (een andere editie)', () => {
assert.equal(routePage(ROUTE_KEYS.CHARTS), null);
});
it('weigert een onbekende route en een tweede registratie', () => {
assert.throws(() => registerRoute('bestaat-niet', thuis), /Unknown route/);
assert.throws(() => registerRoute(ROUTE_KEYS.HOME, thuis), /registered twice/);
});
});