Skip to content

Commit 99ff661

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

File tree

3 files changed

+19
-16
lines changed

3 files changed

+19
-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: 17 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,8 @@ 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+
await runner.close();
5855
});
5956

6057
test.describe.serial('Red Hat Image Checker extension installation', () => {
@@ -67,7 +64,7 @@ test.describe.serial('Red Hat Image Checker extension installation', () => {
6764

6865
test('Remove old version of the extension', async ({ navigationBar }) => {
6966
test.skip(!extensionInstalled);
70-
await removeExtension(navigationBar);
67+
await disableAndRemoveExtension(navigationBar);
7168
});
7269

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

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

112109
const pullImagePage = await imagesPage.openPullImage();
113110
await playExpect(pullImagePage.heading).toBeVisible();
114-
imagesPage = await pullImagePage.pullImage(imageToCheck);
111+
await pullImagePage.pullImage(imageToCheck);
115112
const imageDetailsPage = await getImageDetailsPage(navigationBar);
116113
await playExpect(imageDetailsPage.imageCheckerTab).toBeVisible();
117114

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

147144
// wait for the analysis to be complete
148-
const analysisStatus = await imageDetailsPage.getAnalysisStatus();
145+
const analysisStatus = imageDetailsPage.analysisStatus;
149146
await playExpect(analysisStatus).toBeVisible();
150147
await playExpect
151148
.poll(async () => await analysisStatus.innerText(), { timeout: 60000 })
@@ -183,7 +180,9 @@ test.describe.serial('Red Hat Image Checker extension functionality', () => {
183180
test.describe.serial('Red Hat Image Checker extension handling', () => {
184181
test('Extension can be disabled', async ({ navigationBar }) => {
185182
const extensions = await navigationBar.openExtensions();
186-
playExpect(extensions.extensionIsInstalled(extensionLabel)).toBeTruthy();
183+
await playExpect
184+
.poll(async () => await extensions.extensionIsInstalled(extensionLabel), { timeout: 15000 })
185+
.toBeTruthy();
187186
const extensionCard = await extensions.getInstalledExtension(extensionLabelName, extensionLabel);
188187
await extensionCard.disableExtension();
189188
await playExpect(extensionCard.status).toHaveText(disabledExtensionStatus);
@@ -193,7 +192,9 @@ test.describe.serial('Red Hat Image Checker extension handling', () => {
193192

194193
test('Extension can be re-enabled', async ({ navigationBar }) => {
195194
const extensions = await navigationBar.openExtensions();
196-
playExpect(extensions.extensionIsInstalled(extensionLabel)).toBeTruthy();
195+
await playExpect
196+
.poll(async () => await extensions.extensionIsInstalled(extensionLabel), { timeout: 15000 })
197+
.toBeTruthy();
197198
const extensionCard = await extensions.getInstalledExtension(extensionLabelName, extensionLabel);
198199
await extensionCard.enableExtension();
199200
await playExpect(extensionCard.status).toHaveText(activeExtensionStatus);
@@ -202,14 +203,15 @@ test.describe.serial('Red Hat Image Checker extension handling', () => {
202203
});
203204

204205
test('Extension can be removed', async ({ navigationBar }) => {
205-
await removeExtension(navigationBar);
206+
await disableAndRemoveExtension(navigationBar);
206207
});
207208
});
208209

209-
async function removeExtension(navigationBar: NavigationBar): Promise<void> {
210+
async function disableAndRemoveExtension(navigationBar: NavigationBar): Promise<void> {
210211
const extensions = await navigationBar.openExtensions();
211212
const extensionCard = await extensions.getInstalledExtension(extensionLabelName, extensionLabel);
212-
await extensionCard.disableExtension();
213+
playExpect(extensionCard.status).toHaveText(activeExtensionStatus);
214+
await playExpect(extensionCard.removeButton).toBeVisible();
213215
await extensionCard.removeExtension();
214216
await playExpect
215217
.poll(async () => await extensions.extensionIsInstalled(extensionLabel), { timeout: 15000 })

0 commit comments

Comments
 (0)