Files
AtreidesAssetsFree/tests/ui/place-available.test.mjs
2026-10-29 11:57:29 +01:00

45 lines
2.0 KiB
JavaScript

// Generated, do not edit. sha256:13b31c48ff5328daf97de910b42c1da69200bfe8eddfa660e66eddb391551419
import { describe, it, mock } from 'node:test';
import assert from 'node:assert/strict';
mock.module('../../client/data/license-status.js', {
namedExports: { licenseStatus: async () => ({ features: { tax: false, portfolios: false } }) },
});
const { ROUTE_KEYS, SYSTEM_PAGE, TARGETS } = await import('../../shared/config.js');
const { loadLicense } = await import('../../client/license.js');
const { registerRoute, placeAvailable } = await import('../../client/routes.js');
const { registerSystemTab } = await import('../../client/pages/system-tabs.js');
await loadLicense();
const pagina = { title: () => '', render: () => {} };
registerRoute(ROUTE_KEYS.HOME, pagina);
registerRoute(ROUTE_KEYS.SYSTEM, pagina);
registerRoute(ROUTE_KEYS.TAXES, pagina, { feature: 'tax' });
registerSystemTab({ id: SYSTEM_PAGE.TABS.HEALTH, render: () => {} });
registerSystemTab({ id: SYSTEM_PAGE.TABS.PORTFOLIOS, feature: 'portfolios', render: () => {} });
registerSystemTab({ id: SYSTEM_PAGE.TABS.INTEGRATIONS, subs: ['connections'], render: () => {} });
describe('placeAvailable', () => {
it('een geregistreerde route wel, een niet-geregistreerde niet', () => {
assert.equal(placeAvailable(TARGETS.HOME), true);
assert.equal(placeAvailable(TARGETS.WEALTH), false);
assert.equal(placeAvailable(null), false);
});
it('een route of tabblad achter een dichte vlag niet', () => {
assert.equal(placeAvailable(TARGETS.TAXES), false);
assert.equal(placeAvailable(TARGETS.PORTFOLIOS), false);
assert.equal(placeAvailable(TARGETS.HEALTH), true);
});
it('een tabblad dat zijn subtabs noemt, heeft alleen die', () => {
assert.equal(placeAvailable(TARGETS.CONNECTIONS), true);
assert.equal(placeAvailable(TARGETS.SOURCE_PROPOSALS), false);
});
it('een tabblad dat niet geregistreerd is, niet', () => {
assert.equal(placeAvailable(TARGETS.AI_ACTIVITY), false);
});
});