1
1
import { html , fixture , expect } from '@open-wc/testing' ;
2
2
3
3
import '../../../../src/editors/ied/da-container.js' ;
4
+
4
5
import { DAContainer } from '../../../../src/editors/ied/da-container.js' ;
5
6
import { initializeNsdoc } from '../../../../src/foundation/nsdoc.js' ;
7
+ import { TemplateResult } from "lit-element" ;
6
8
7
9
describe ( 'da-container' , async ( ) => {
8
10
let element : DAContainer ;
@@ -16,38 +18,85 @@ describe('da-container', async () => {
16
18
. then ( str => new DOMParser ( ) . parseFromString ( str , 'application/xml' ) ) ;
17
19
} ) ;
18
20
19
- it ( 'looks like the latest snapshot with a DA element' , async ( ) => {
20
- element = await fixture ( html `< da-container
21
- .element =${ validSCL . querySelector (
22
- 'DataTypeTemplates > DOType[id="Dummy.XCBR1.Pos"] > DA[name="ctlModel"]' ) }
23
- .nsdoc =${ nsdoc }
24
- > </ da-container > ` ) ;
25
- expect ( element ) . shadowDom . to . equalSnapshot ( ) ;
21
+ describe ( 'with a DA element' , ( ) => {
22
+ beforeEach ( async ( ) => {
23
+ element = await fixture ( html `< da-container
24
+ .element =${ validSCL . querySelector (
25
+ 'DataTypeTemplates > DOType[id="Dummy.XCBR1.Pos"] > DA[name="ctlModel"]' ) }
26
+ .nsdoc =${ nsdoc }
27
+ > </ da-container > ` ) ;
28
+ } ) ;
29
+
30
+ it ( 'check the values returned for the header' , ( ) => {
31
+ const header = element [ 'header' ] ( ) ;
32
+ expect ( header . values . length ) . to . be . equals ( 3 ) ;
33
+ expect ( header . values [ 0 ] ) . to . be . equals ( 'ctlModel' ) ;
34
+ expect ( header . values [ 1 ] ) . to . be . equals ( 'Enum' ) ;
35
+ expect ( ( < TemplateResult > header . values [ 2 ] ) . values . length ) . to . be . equals ( 1 ) ;
36
+ expect ( ( < TemplateResult > header . values [ 2 ] ) . values [ 0 ] ) . to . be . equals ( 'CF' ) ;
37
+ } )
38
+
39
+ it ( 'looks like the latest snapshot' , async ( ) => {
40
+ expect ( element ) . shadowDom . to . equalSnapshot ( ) ;
41
+ } ) ;
26
42
} ) ;
27
43
28
- it ( 'looks like the latest snapshot with a DA element and child elements are toggled.' , async ( ) => {
29
- element = await fixture ( html `< da-container
30
- .element =${ validSCL . querySelector (
31
- 'DataTypeTemplates > DOType[id="Dummy.LPHD1.Sim"] > DA[name="SBOw"]' ) }
32
- .nsdoc =${ nsdoc }
33
- > </ da-container > ` ) ;
44
+ describe ( 'with a BDA element' , ( ) => {
45
+ beforeEach ( async ( ) => {
46
+ element = await fixture ( html `< da-container
47
+ .element =${ validSCL . querySelector (
48
+ 'DataTypeTemplates > DAType[id="Dummy.LPHD1.Sim.SBOw"] > BDA[name="ctlVal"]' ) }
49
+ .daParent =${ validSCL . querySelector (
50
+ 'DataTypeTemplates > DOType[id="Dummy.LPHD1.Sim"] > DA[name="SBOw"]' ) }
51
+ .ancestors=${ [ validSCL . querySelector (
52
+ 'DataTypeTemplates > DOType[id="Dummy.LPHD1.Sim"] > DA[name="SBOw"]' ) ] }
53
+ .nsdoc=${ nsdoc }
54
+ > </ da-container > ` ) ;
55
+ } ) ;
34
56
35
- ( < HTMLElement > (
36
- element . shadowRoot ! . querySelector ( 'mwc-icon-button-toggle' )
37
- ) ) . click ( ) ;
38
- await element . requestUpdate ( ) ;
39
- await element . updateComplete ;
40
- expect ( element ) . shadowDom . to . equalSnapshot ( ) ;
41
-
42
- ( < HTMLElement > (
43
- element . shadowRoot ! . querySelector ( 'mwc-icon-button-toggle' )
44
- ) ) . click ( ) ;
45
- await element . requestUpdate ( ) ;
46
- await element . updateComplete ;
47
- expect ( element . shadowRoot ! . querySelectorAll ( 'do-container' ) . length ) . to . eql ( 0 ) ;
57
+ it ( 'check the values returned for the header' , ( ) => {
58
+ const header = element [ 'header' ] ( ) ;
59
+ expect ( header . values . length ) . to . be . equals ( 3 ) ;
60
+ expect ( header . values [ 0 ] ) . to . be . equals ( 'ctlVal' ) ;
61
+ expect ( header . values [ 1 ] ) . to . be . equals ( 'BOOLEAN' ) ;
62
+ expect ( header . values [ 2 ] ) . to . be . equals ( '' ) ;
63
+ } )
64
+
65
+ it ( 'looks like the latest snapshot' , async ( ) => {
66
+ expect ( element ) . shadowDom . to . equalSnapshot ( ) ;
67
+ } ) ;
68
+ } ) ;
69
+
70
+ describe ( 'with a DA element and child elements are toggled' , ( ) => {
71
+ beforeEach ( async ( ) => {
72
+ element = await fixture ( html `< da-container
73
+ .element =${ validSCL . querySelector (
74
+ 'DataTypeTemplates > DOType[id="Dummy.LPHD1.Sim"] > DA[name="SBOw"]' ) }
75
+ .nsdoc =${ nsdoc }
76
+ > </ da-container > ` ) ;
77
+
78
+ ( < HTMLElement > (
79
+ element . shadowRoot ! . querySelector ( 'mwc-icon-button-toggle' )
80
+ ) ) . click ( ) ;
81
+ await element . requestUpdate ( ) ;
82
+ await element . updateComplete ;
83
+ } ) ;
84
+
85
+ it ( 'when closing the container, no elements found' , async ( ) => {
86
+ ( < HTMLElement > (
87
+ element . shadowRoot ! . querySelector ( 'mwc-icon-button-toggle' )
88
+ ) ) . click ( ) ;
89
+ await element . requestUpdate ( ) ;
90
+ await element . updateComplete ;
91
+ expect ( element . shadowRoot ! . querySelectorAll ( 'do-container' ) . length ) . to . eql ( 0 ) ;
92
+ } ) ;
93
+
94
+ it ( 'looks like the latest snapshot' , async ( ) => {
95
+ expect ( element ) . shadowDom . to . equalSnapshot ( ) ;
96
+ } ) ;
48
97
} ) ;
49
98
50
- it ( 'looks like the latest snapshot with a DA element containing and a DAI. ' , async ( ) => {
99
+ it ( 'looks like the latest snapshot with a DA element containing and a DAI' , async ( ) => {
51
100
element = await fixture ( html `< da-container
52
101
.element =${ validSCL . querySelector (
53
102
'DataTypeTemplates > DOType[id="Dummy.XCBR1.Pos"] > DA[name="ctlModel"]' ) }
0 commit comments