39 lines
1.8 KiB
JavaScript
39 lines
1.8 KiB
JavaScript
// 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/);
|
||
|
|
});
|
||
|
|
});
|