@@ -237,6 +237,51 @@ describe('ManageSpacePage', () => {
237
237
expect ( wrapper . find ( EnabledFeatures ) ) . toHaveLength ( 0 ) ;
238
238
} ) ;
239
239
240
+ it ( 'hides feature visibility controls when solution view is not "classic"' , async ( ) => {
241
+ const spacesManager = spacesManagerMock . create ( ) ;
242
+
243
+ const wrapper = mountWithIntl (
244
+ < ManageSpacePage
245
+ spacesManager = { spacesManager }
246
+ getFeatures = { featuresStart . getFeatures }
247
+ notifications = { notificationServiceMock . createStartContract ( ) }
248
+ history = { history }
249
+ capabilities = { {
250
+ navLinks : { } ,
251
+ management : { } ,
252
+ catalogue : { } ,
253
+ spaces : { manage : true } ,
254
+ } }
255
+ eventTracker = { eventTracker }
256
+ allowFeatureVisibility
257
+ allowSolutionVisibility
258
+ />
259
+ ) ;
260
+
261
+ await waitFor ( async ( ) => {
262
+ await Promise . resolve ( ) ;
263
+
264
+ wrapper . update ( ) ;
265
+
266
+ // default for create space: expect visible features table to exist
267
+ expect ( wrapper . find ( EnabledFeatures ) ) . toHaveLength ( 1 ) ;
268
+ } ) ;
269
+
270
+ await waitFor ( ( ) => {
271
+ // switch to observability view
272
+ updateSpace ( wrapper , false , 'oblt' ) ;
273
+ // expect visible features table to not exist
274
+ expect ( wrapper . find ( EnabledFeatures ) ) . toHaveLength ( 0 ) ;
275
+ } ) ;
276
+
277
+ await waitFor ( ( ) => {
278
+ // switch to classic
279
+ updateSpace ( wrapper , false , 'classic' ) ;
280
+ // expect visible features table to exist again
281
+ expect ( wrapper . find ( EnabledFeatures ) ) . toHaveLength ( 1 ) ;
282
+ } ) ;
283
+ } ) ;
284
+
240
285
it ( 'allows a space to be updated' , async ( ) => {
241
286
const spaceToUpdate = {
242
287
id : 'existing-space' ,
0 commit comments