diff --git a/packages/open-scd/src/addons/Settings.ts b/packages/open-scd/src/addons/Settings.ts index 53e6dfdacb..972c87b242 100644 --- a/packages/open-scd/src/addons/Settings.ts +++ b/packages/open-scd/src/addons/Settings.ts @@ -89,6 +89,12 @@ export function newLoadNsdocEvent( @customElement('oscd-settings') export class OscdSettings extends LitElement { + /** Object containing all *.nsdoc files and a function extracting element's label form them*/ + @property({ + type: Object, + }) + nsdoc!: Nsdoc; + /** Current [[`Settings`]] in `localStorage`, default to [[`defaults`]]. */ @property() get settings(): Settings { @@ -103,9 +109,6 @@ export class OscdSettings extends LitElement { 'IEC 61850-8-1': this.getSetting('IEC 61850-8-1'), }; } - /** Object containing all *.nsdoc files and a function extracting element's label form them*/ - @property({ attribute: false }) - nsdoc: Nsdoc = initializeNsdoc(); @property({ type: Object, diff --git a/packages/open-scd/test/mock-open-scd.ts b/packages/open-scd/test/mock-open-scd.ts index 98fe4982d5..b92069d61b 100644 --- a/packages/open-scd/test/mock-open-scd.ts +++ b/packages/open-scd/test/mock-open-scd.ts @@ -13,7 +13,7 @@ import { WizardDialog } from '../src/wizard-dialog.js'; @customElement('mock-open-scd') export class MockOpenSCD extends OpenSCD { @queryAssignedNodes() - _plugins!: Array; + _slots!: Array; @query('oscd-wizards') wizards!: Wizards; @@ -23,13 +23,13 @@ export class MockOpenSCD extends OpenSCD { } getPlugin(name: string): T | undefined { - return this._plugins.find( - p => p.tagName.toLowerCase() === name.toLowerCase() + return this._slots.find( + s => s.tagName.toLowerCase() === name.toLowerCase() ) as T | undefined; } getActivePlugin(): T { - return this._plugins[0]! as T; + return this._slots[0]! as T; } get wizardUI(): WizardDialog { diff --git a/packages/open-scd/test/unit/Plugging.test.ts b/packages/open-scd/test/unit/Plugging.test.ts index f9c69fb370..9ec98c0580 100644 --- a/packages/open-scd/test/unit/Plugging.test.ts +++ b/packages/open-scd/test/unit/Plugging.test.ts @@ -58,6 +58,7 @@ describe('OpenSCD-Plugin', () => { primaryAction = ( element.pluginUI.querySelector('mwc-button[slot="primaryAction"]') ); + await element.updateComplete; }); it('disables deselected plugins', async () => { @@ -152,9 +153,14 @@ describe('OpenSCD-Plugin', () => { await src.updateComplete; await name.updateComplete; primaryAction.click(); + await new Promise(resolve => setTimeout(resolve, 50)); // await animation + + await element.requestUpdate(); await element.updateComplete; + expect(element.editors).to.have.lengthOf(7); }); + it('adds a new menu kind plugin on add button click', async () => { const lengthMenuKindPlugins = element.menuEntries.length; src.value = 'http://example.com/plugin.js';