@@ -94,7 +94,30 @@ test.describe.serial('Red Hat Image Checker extension installation', () => {
9494 } ) ;
9595
9696 test ( 'Image Checker tab is present in Image Details Page' , async ( { navigationBar } ) => {
97- await imageCheckerTabPresent ( navigationBar ) ;
97+ const imageDetailsPage = await getImageDetailsPage ( navigationBar ) ;
98+ await playExpect ( imageDetailsPage . imageCheckerTab ) . toBeVisible ( ) ;
99+ } ) ;
100+ } ) ;
101+
102+ test . describe . serial ( 'Red Hat Image Checker extension handling' , ( ) => {
103+ test ( 'Extension can be disabled' , async ( { navigationBar } ) => {
104+ const extensions = await navigationBar . openExtensions ( ) ;
105+ playExpect ( extensions . extensionIsInstalled ( extensionLabel ) ) . toBeTruthy ( ) ;
106+ const extensionCard = await extensions . getInstalledExtension ( extensionLabelName , extensionLabel ) ;
107+ await extensionCard . disableExtension ( ) ;
108+ await playExpect ( extensionCard . status ) . toHaveText ( disabledExtensionStatus ) ;
109+ const imageDetailsPage = await getImageDetailsPage ( navigationBar ) ;
110+ await playExpect ( imageDetailsPage . imageCheckerTab ) . not . toBeDefined ( ) ;
111+ } ) ;
112+
113+ test ( 'Extension can be re-enabled' , async ( { navigationBar } ) => {
114+ const extensions = await navigationBar . openExtensions ( ) ;
115+ playExpect ( extensions . extensionIsInstalled ( extensionLabel ) ) . toBeTruthy ( ) ;
116+ const extensionCard = await extensions . getInstalledExtension ( extensionLabelName , extensionLabel ) ;
117+ await extensionCard . enableExtension ( ) ;
118+ await playExpect ( extensionCard . status ) . toHaveText ( activeExtensionStatus ) ;
119+ const imageDetailsPage = await getImageDetailsPage ( navigationBar ) ;
120+ await playExpect ( imageDetailsPage . imageCheckerTab ) . toBeVisible ( ) ;
98121 } ) ;
99122
100123 test ( 'Extension can be removed' , async ( { navigationBar } ) => {
@@ -112,7 +135,7 @@ async function removeExtension(navigationBar: NavigationBar): Promise<void> {
112135 . toBeFalsy ( ) ;
113136}
114137
115- async function imageCheckerTabPresent ( navigationBar : NavigationBar ) {
138+ async function getImageDetailsPage ( navigationBar : NavigationBar ) : Promise < ImageCheckerImageDetailsPage > {
116139 const imagesPage = await navigationBar . openImages ( ) ;
117140 await playExpect ( imagesPage . heading ) . toBeVisible ( ) ;
118141
@@ -124,5 +147,5 @@ async function imageCheckerTabPresent(navigationBar: NavigationBar) {
124147
125148 const imageDetailPage = await imagesPage . openImageDetails ( imageToCheck ) ;
126149 const imageDetailsPage = new ImageCheckerImageDetailsPage ( imageDetailPage . page , imageToCheck ) ;
127- await playExpect ( imageDetailsPage . imageCheckerTab ) . toBeVisible ( ) ;
150+ return imageDetailsPage ;
128151}
0 commit comments