Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,36 @@
|
||||
// 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/);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user