Skip to content

Commit 777550d

Browse files
committed
fix(tests): fixed oversights in e2e tests
Signed-off-by: Rostislav Lán <[email protected]>
1 parent e24e8fa commit 777550d

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

.github/workflows/pr-build-extension.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ on:
2323
branches: [ 'main' ]
2424

2525
jobs:
26-
build-extension:
26+
pr-build-extension:
2727
name: Build OCI image
2828
runs-on: ubuntu-24.04
2929
steps:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
node_modules
33
test-results
44
output
5+
dist

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

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const extensionLabel = 'redhat.openshift-checker';
3434
const extensionLabelName = 'openshift-checker';
3535
const activeExtensionStatus = 'ACTIVE';
3636
const disabledExtensionStatus = 'DISABLED';
37-
const imageToCheck = 'docker.io/library/httpd';
37+
const imageToCheck = 'ghcr.io/linuxcontainers/alpine';
3838
const isLinux = process.platform === 'linux';
3939
const providerName = 'Red Hat OpenShift Checker';
4040
const extensionName = 'Red Hat OpenShift Checker extension';
@@ -50,11 +50,9 @@ test.beforeAll(async ({ runner, page, welcomePage }) => {
5050

5151
test.afterAll(async ({ runner, page }) => {
5252
test.setTimeout(60000);
53-
try {
54-
deleteImage(page, imageToCheck);
55-
} finally {
56-
await runner.close();
57-
}
53+
//deleteImage(page, imageToCheck);
54+
// TODO: testing image should be removed after the tests, for some reason this fails
55+
await runner.close();
5856
});
5957

6058
test.describe.serial('Red Hat Image Checker extension installation', () => {
@@ -67,7 +65,7 @@ test.describe.serial('Red Hat Image Checker extension installation', () => {
6765

6866
test('Remove old version of the extension', async ({ navigationBar }) => {
6967
test.skip(!extensionInstalled);
70-
await removeExtension(navigationBar);
68+
await disableAndRemoveExtension(navigationBar);
7169
});
7270

7371
test('Extension can be installed from an OCI image', async ({ navigationBar }) => {
@@ -106,12 +104,12 @@ test.describe.serial('Red Hat Image Checker extension installation', () => {
106104

107105
test.describe.serial('Red Hat Image Checker extension functionality', () => {
108106
test('Pull testing image, check tab is present in image details page', async ({ navigationBar }) => {
109-
let imagesPage = await navigationBar.openImages();
107+
const imagesPage = await navigationBar.openImages();
110108
await playExpect(imagesPage.heading).toBeVisible();
111109

112110
const pullImagePage = await imagesPage.openPullImage();
113111
await playExpect(pullImagePage.heading).toBeVisible();
114-
imagesPage = await pullImagePage.pullImage(imageToCheck);
112+
await pullImagePage.pullImage(imageToCheck);
115113
const imageDetailsPage = await getImageDetailsPage(navigationBar);
116114
await playExpect(imageDetailsPage.imageCheckerTab).toBeVisible();
117115

@@ -145,7 +143,7 @@ test.describe.serial('Red Hat Image Checker extension functionality', () => {
145143
await playExpect(imageDetailsPage.imageCheckerTabContent).toBeVisible();
146144

147145
// wait for the analysis to be complete
148-
const analysisStatus = await imageDetailsPage.getAnalysisStatus();
146+
const analysisStatus = imageDetailsPage.analysisStatus;
149147
await playExpect(analysisStatus).toBeVisible();
150148
await playExpect
151149
.poll(async () => await analysisStatus.innerText(), { timeout: 60000 })
@@ -183,7 +181,9 @@ test.describe.serial('Red Hat Image Checker extension functionality', () => {
183181
test.describe.serial('Red Hat Image Checker extension handling', () => {
184182
test('Extension can be disabled', async ({ navigationBar }) => {
185183
const extensions = await navigationBar.openExtensions();
186-
playExpect(extensions.extensionIsInstalled(extensionLabel)).toBeTruthy();
184+
await playExpect
185+
.poll(async () => await extensions.extensionIsInstalled(extensionLabel), { timeout: 15000 })
186+
.toBeTruthy();
187187
const extensionCard = await extensions.getInstalledExtension(extensionLabelName, extensionLabel);
188188
await extensionCard.disableExtension();
189189
await playExpect(extensionCard.status).toHaveText(disabledExtensionStatus);
@@ -193,7 +193,9 @@ test.describe.serial('Red Hat Image Checker extension handling', () => {
193193

194194
test('Extension can be re-enabled', async ({ navigationBar }) => {
195195
const extensions = await navigationBar.openExtensions();
196-
playExpect(extensions.extensionIsInstalled(extensionLabel)).toBeTruthy();
196+
await playExpect
197+
.poll(async () => await extensions.extensionIsInstalled(extensionLabel), { timeout: 15000 })
198+
.toBeTruthy();
197199
const extensionCard = await extensions.getInstalledExtension(extensionLabelName, extensionLabel);
198200
await extensionCard.enableExtension();
199201
await playExpect(extensionCard.status).toHaveText(activeExtensionStatus);
@@ -202,14 +204,15 @@ test.describe.serial('Red Hat Image Checker extension handling', () => {
202204
});
203205

204206
test('Extension can be removed', async ({ navigationBar }) => {
205-
await removeExtension(navigationBar);
207+
await disableAndRemoveExtension(navigationBar);
206208
});
207209
});
208210

209-
async function removeExtension(navigationBar: NavigationBar): Promise<void> {
211+
async function disableAndRemoveExtension(navigationBar: NavigationBar): Promise<void> {
210212
const extensions = await navigationBar.openExtensions();
211213
const extensionCard = await extensions.getInstalledExtension(extensionLabelName, extensionLabel);
212-
await extensionCard.disableExtension();
214+
playExpect(extensionCard.status).toHaveText(activeExtensionStatus);
215+
await playExpect(extensionCard.removeButton).toBeVisible();
213216
await extensionCard.removeExtension();
214217
await playExpect
215218
.poll(async () => await extensions.extensionIsInstalled(extensionLabel), { timeout: 15000 })

0 commit comments

Comments
 (0)