@@ -99,10 +99,37 @@ describe('SavedObjectTypeRegistry', () => {
9999 } ) ;
100100 } ) ;
101101
102+ describe ( '#getVisibleTypes' , ( ) => {
103+ it ( 'returns only visible registered types' , ( ) => {
104+ const typeA = createType ( { name : 'typeA' , hidden : false } ) ;
105+ const typeB = createType ( { name : 'typeB' , hidden : true } ) ;
106+ const typeC = createType ( { name : 'typeC' , hidden : false } ) ;
107+ registry . registerType ( typeA ) ;
108+ registry . registerType ( typeB ) ;
109+ registry . registerType ( typeC ) ;
110+
111+ const registered = registry . getVisibleTypes ( ) ;
112+ expect ( registered . length ) . toEqual ( 2 ) ;
113+ expect ( registered ) . toContainEqual ( typeA ) ;
114+ expect ( registered ) . toContainEqual ( typeC ) ;
115+ } ) ;
116+
117+ it ( 'does not mutate the registered types when altering the list' , ( ) => {
118+ registry . registerType ( createType ( { name : 'typeA' , hidden : false } ) ) ;
119+ registry . registerType ( createType ( { name : 'typeB' , hidden : true } ) ) ;
120+ registry . registerType ( createType ( { name : 'typeC' , hidden : false } ) ) ;
121+
122+ const types = registry . getVisibleTypes ( ) ;
123+ types . splice ( 0 , 2 ) ;
124+
125+ expect ( registry . getVisibleTypes ( ) . length ) . toEqual ( 2 ) ;
126+ } ) ;
127+ } ) ;
128+
102129 describe ( '#getAllTypes' , ( ) => {
103130 it ( 'returns all registered types' , ( ) => {
104131 const typeA = createType ( { name : 'typeA' } ) ;
105- const typeB = createType ( { name : 'typeB' } ) ;
132+ const typeB = createType ( { name : 'typeB' , hidden : true } ) ;
106133 const typeC = createType ( { name : 'typeC' } ) ;
107134 registry . registerType ( typeA ) ;
108135 registry . registerType ( typeB ) ;
0 commit comments