// Generated, do not edit. sha256:3e7be8fe91199a27e369fbae661fe27d142febd9a3610db0e0958e0e9a82d5ec import { describe, it, mock } from 'node:test'; import assert from 'node:assert/strict'; import { SYSTEM_PAGE } from '../../shared/config.js'; let dicht = new Set(); mock.module('../../client/license.js', { namedExports: { locked: f => dicht.has(f) } }); const { registerSystemTab, systemTabs } = await import('../../client/pages/system-tabs.js'); const T = SYSTEM_PAGE.TABS; const leeg = () => {}; registerSystemTab({ id: T.LICENSE, render: leeg }); registerSystemTab({ id: T.INTEGRATIONS, feature: 'sourceMatrix', render: leeg }); registerSystemTab({ id: T.SETTINGS, render: leeg }); registerSystemTab({ id: T.INTEGRATIONS, label: 'nav.connections', render: leeg }); registerSystemTab({ id: T.DATA, feature: 'data', render: leeg }); const ids = () => systemTabs().map(x => x.id); const integraties = () => systemTabs().find(x => x.id === T.INTEGRATIONS); describe('systemTabs', () => { it('volledig: de betaalde tabs, in de volgorde van SYSTEM_PAGE.TABS', () => { dicht = new Set(); assert.deepEqual(ids(), [T.SETTINGS, T.INTEGRATIONS, T.DATA, T.LICENSE]); assert.equal(integraties().feature, 'sourceMatrix', 'de betaalde registratie wint van de vervanger'); assert.equal(integraties().label, 'nav.integrations'); }); it('gratis: een betaalde tab zonder vervanger verdwijnt, een met vervanger wordt die vervanger', () => { dicht = new Set(['sourceMatrix', 'data']); assert.deepEqual(ids(), [T.SETTINGS, T.INTEGRATIONS, T.LICENSE]); assert.equal(integraties().feature, null); assert.equal(integraties().label, 'nav.connections'); }); it('weigert een tab die SYSTEM_PAGE niet kent', () => { assert.throws(() => registerSystemTab({ id: 'bestaat-niet', render: leeg }), /Unknown system tab/); }); });