Skip to content

Commit 4eec8fb

Browse files
committed
chore: added extension handling e2e tests
Signed-off-by: Rostislav Lán <[email protected]>
1 parent 87ea1bb commit 4eec8fb

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

podman-desktop-extension/tests/src/image-checker.spec.ts

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)