Skip to content

Commit 8b6d638

Browse files
committed
refactor: update SclBayTemplate tests to use compasApiMock
1 parent a2231de commit 8b6d638

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

scl-bay-template.spec.ts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable no-unused-expressions */
22
import { expect, fixture, html, waitUntil } from '@open-wc/testing';
3-
import { restore, SinonSpy, spy } from 'sinon';
3+
import { restore, spy } from 'sinon';
44

55
import SclBayTemplate from './scl-bay-template.js';
66
import { testScl } from './scl-bay-template.testfiles.js';
@@ -10,24 +10,32 @@ describe('SclBayTemplate Plugin', () => {
1010

1111
let element: SclBayTemplate;
1212
let doc: XMLDocument;
13+
let compasApiMock: any;
1314

1415
beforeEach(async () => {
1516
doc = new DOMParser().parseFromString(testScl, 'application/xml');
16-
17+
compasApiMock = {
18+
lNodeLibrary: {
19+
loadLNodeLibrary: async () => {},
20+
lNodeLibrary: () => undefined,
21+
},
22+
};
1723
element = await fixture(
18-
html`<scl-bay-template .doc=${doc}></scl-bay-template>`
24+
html`<scl-bay-template
25+
.doc=${doc}
26+
.compasApi=${compasApiMock}
27+
></scl-bay-template>`
1928
);
2029
});
2130

2231
it('looks like the latest snapshot', async () => {
2332
await expect(element).shadowDom.to.equalSnapshot();
2433
});
2534

26-
it('should dispatch request-libdoc on connectedCallback', async () => {
27-
const listener: SinonSpy = spy();
28-
element.addEventListener('request-libdoc', listener);
35+
it('calls compasApi.lNodeLibrary.loadLNodeLibrary on connectedCallback', async () => {
36+
const loadSpy = spy(compasApiMock.lNodeLibrary, 'loadLNodeLibrary');
2937
element.connectedCallback();
30-
expect(listener.calledOnce).to.be.true;
38+
expect(loadSpy.calledOnce).to.be.true;
3139
restore();
3240
});
3341

@@ -45,12 +53,8 @@ describe('SclBayTemplate Plugin', () => {
4553
</Header>
4654
</SCL>`;
4755
const ssdDoc = new DOMParser().parseFromString(ssdXml, 'application/xml');
48-
49-
element.addEventListener('request-libdoc', (e: Event) => {
50-
(e as CustomEvent).detail.callback(ssdDoc);
51-
});
52-
53-
await (element as any).requestLNodeLibrary();
56+
compasApiMock.lNodeLibrary.lNodeLibrary = () => ssdDoc;
57+
element.requestUpdate();
5458
await element.updateComplete;
5559

5660
expect(element.lnodeLibDialog?.open).to.be.false;

0 commit comments

Comments
 (0)