1
1
import { ActivatedRoute } from '@angular/router' ;
2
2
import { IconType } from '@hypertrace/assets-library' ;
3
- import { MemoizeModule , NavigationService } from '@hypertrace/common' ;
3
+ import { FeatureStateResolver , MemoizeModule , NavigationService } from '@hypertrace/common' ;
4
4
import { createHostFactory , mockProvider , SpectatorHost } from '@ngneat/spectator/jest' ;
5
5
import { MockComponent } from 'ng-mocks' ;
6
6
import { EMPTY , of } from 'rxjs' ;
@@ -21,6 +21,9 @@ describe('Navigation List Component', () => {
21
21
imports : [ LetAsyncModule , MemoizeModule ] ,
22
22
providers : [
23
23
mockProvider ( ActivatedRoute , activatedRoute ) ,
24
+ mockProvider ( FeatureStateResolver , {
25
+ getFeatureState : jest . fn ( ) . mockReturnValue ( of ( false ) )
26
+ } ) ,
24
27
mockProvider ( NavigationService , {
25
28
navigation$ : EMPTY ,
26
29
navigateWithinApp : jest . fn ( ) ,
@@ -78,4 +81,36 @@ describe('Navigation List Component', () => {
78
81
expect ( spectator . query ( '.navigation-list' ) ) . not . toHaveClass ( 'expanded' ) ;
79
82
expect ( spectator . query ( IconComponent ) ?. icon ) . toEqual ( IconType . TriangleRight ) ;
80
83
} ) ;
84
+
85
+ test ( 'should only show one header 1' , ( ) => {
86
+ const navItems : NavItemConfig [ ] = [
87
+ {
88
+ type : NavItemType . Header ,
89
+ label : 'header 1'
90
+ } ,
91
+ {
92
+ type : NavItemType . Link ,
93
+ icon : 'icon' ,
94
+ label : 'label-1' ,
95
+ features : [ 'feature' ] ,
96
+ matchPaths : [ '' ]
97
+ } ,
98
+ {
99
+ type : NavItemType . Link ,
100
+ icon : 'icon' ,
101
+ label : 'label-2' ,
102
+ matchPaths : [ '' ]
103
+ } ,
104
+ {
105
+ type : NavItemType . Header ,
106
+ label : 'header 2'
107
+ }
108
+ ] ;
109
+
110
+ spectator = createHost ( `<ht-navigation-list [navItems]="navItems"></ht-navigation-list>` , {
111
+ hostProps : { navItems : navItems }
112
+ } ) ;
113
+ expect ( spectator . queryAll ( '.nav-header' ) ) . toHaveLength ( 1 ) ;
114
+ expect ( spectator . queryAll ( '.nav-header .label' ) [ 0 ] ) . toHaveText ( 'header 1' ) ;
115
+ } ) ;
81
116
} ) ;
0 commit comments