@@ -6,21 +6,11 @@ import '../src/vaadin-side-nav.js';
66describe ( 'side-nav' , ( ) => {
77 let sideNav ;
88
9- beforeEach ( async ( ) => {
10- sideNav = fixtureSync ( `
11- <vaadin-side-nav collapsible>
12- <span slot="label">Main menu</span>
13- <vaadin-side-nav-item>Item 1</vaadin-side-nav-item>
14- <vaadin-side-nav-item>Item 2</vaadin-side-nav-item>
15- </vaadin-side-nav>
16- ` ) ;
17- await nextRender ( ) ;
18- } ) ;
19-
209 describe ( 'custom element definition' , ( ) => {
2110 let tagName ;
2211
2312 beforeEach ( ( ) => {
13+ sideNav = fixtureSync ( '<vaadin-side-nav></vaadin-side-nav>' ) ;
2414 tagName = sideNav . tagName . toLowerCase ( ) ;
2515 } ) ;
2616
@@ -36,7 +26,15 @@ describe('side-nav', () => {
3626 describe ( 'collapsing' , ( ) => {
3727 let label ;
3828
39- beforeEach ( ( ) => {
29+ beforeEach ( async ( ) => {
30+ sideNav = fixtureSync ( `
31+ <vaadin-side-nav collapsible>
32+ <span slot="label">Main menu</span>
33+ <vaadin-side-nav-item>Item 1</vaadin-side-nav-item>
34+ <vaadin-side-nav-item>Item 2</vaadin-side-nav-item>
35+ </vaadin-side-nav>
36+ ` ) ;
37+ await nextRender ( ) ;
4038 label = sideNav . shadowRoot . querySelector ( '[part="label"]' ) ;
4139 } ) ;
4240
@@ -72,4 +70,37 @@ describe('side-nav', () => {
7270 expect ( spy . calledOnce ) . to . be . true ;
7371 } ) ;
7472 } ) ;
73+
74+ describe ( 'expanding items' , ( ) => {
75+ let items ;
76+
77+ beforeEach ( async ( ) => {
78+ sideNav = fixtureSync ( `
79+ <vaadin-side-nav collapsible>
80+ <vaadin-side-nav-item>
81+ <vaadin-side-nav-item slot="children">
82+ <vaadin-side-nav-item slot="children"></vaadin-side-nav-item>
83+ </vaadin-side-nav-item>
84+ </vaadin-side-nav-item>
85+ </vaadin-side-nav>
86+ ` ) ;
87+ items = sideNav . querySelectorAll ( 'vaadin-side-nav-item' ) ;
88+ await nextRender ( ) ;
89+ } ) ;
90+
91+ it ( 'should expand parent items when path matches by default' , async ( ) => {
92+ items [ 2 ] . path = '' ;
93+ await items [ 2 ] . updateComplete ;
94+ expect ( items [ 0 ] . expanded ) . to . be . true ;
95+ expect ( items [ 1 ] . expanded ) . to . be . true ;
96+ } ) ;
97+
98+ it ( 'should not expand parent items when path matches if noAutoExpand is set to true' , async ( ) => {
99+ sideNav . noAutoExpand = true ;
100+ items [ 2 ] . path = '' ;
101+ await items [ 2 ] . updateComplete ;
102+ expect ( items [ 0 ] . expanded ) . to . be . false ;
103+ expect ( items [ 1 ] . expanded ) . to . be . false ;
104+ } ) ;
105+ } ) ;
75106} ) ;
0 commit comments