// Generated, do not edit. sha256:15dbf19377a08dba5f9a565fd3575f87341d62828d1e85351115ec01a421c123 import { describe, it, mock } from 'node:test'; import assert from 'node:assert/strict'; let dicht = new Set(); mock.module('../../client/license.js', { namedExports: { locked: f => dicht.has(f) } }); const { registerWidget, availableWidgets } = await import('../../client/widgets/registry.js'); const klok = () => {}; const klokInstelling = () => {}; const signaal = () => {}; const signaalInstelling = () => {}; registerWidget('clocks', { render: klok, settings: klokInstelling }); registerWidget('signal', { render: signaal, settings: signaalInstelling, feature: 'signals' }); describe('availableWidgets', () => { it('volledig: elke widget met zijn instellingen', () => { dicht = new Set(); const { renderers, settings } = availableWidgets(); assert.deepEqual(Object.keys(renderers).sort(), ['clocks', 'signal']); assert.equal(settings.signal, signaalInstelling); }); it('gratis: een betaalde widget verdwijnt, ook zijn instellingen', () => { dicht = new Set(['signals']); const { renderers, settings } = availableWidgets(); assert.deepEqual(Object.keys(renderers), ['clocks']); assert.equal(settings.signal, undefined); assert.equal(settings.clocks, klokInstelling, 'een widget zonder vlag blijft staan'); }); it('weigert een onbekend type en een tweede registratie', () => { assert.throws(() => registerWidget('bestaat-niet', { render: klok }), /Unknown widget type/); assert.throws(() => registerWidget('clocks', { render: klok }), /registered twice/); }); });