diff --git a/apps/meteor/tests/e2e/apps/private-apps-upload.spec.ts b/apps/meteor/tests/e2e/apps/private-apps-upload.spec.ts index 33325810456c..362a5e058893 100644 --- a/apps/meteor/tests/e2e/apps/private-apps-upload.spec.ts +++ b/apps/meteor/tests/e2e/apps/private-apps-upload.spec.ts @@ -32,6 +32,55 @@ test.describe.serial('Private apps upload', () => { await page.getByRole('button', { name: 'Agree' }).click(); await expect(poMarketplace.appStatusTag).toHaveText('Enabled'); }); + + test('expect to allow admin to update a enabled private app in EE, which should remain enabled', async ({ page }) => { + const fileChooserPromise = page.waitForEvent('filechooser'); + + await poMarketplace.btnUploadPrivateApp.click(); + await expect(poMarketplace.btnInstallPrivateApp).toBeDisabled(); + + await poMarketplace.btnUploadPrivateAppFile.click(); + const fileChooser = await fileChooserPromise; + await fileChooser.setFiles('./tests/e2e/fixtures/files/test-app_0.0.1.zip'); + + await expect(poMarketplace.btnInstallPrivateApp).toBeEnabled(); + await poMarketplace.btnInstallPrivateApp.click(); + await poMarketplace.btnConfirmAppUpdate.click(); + await page.getByRole('button', { name: 'Agree' }).click(); + + await page.goto('/marketplace/private'); + await poMarketplace.lastAppRow.click(); + await expect(poMarketplace.appStatusTag).toHaveText('Enabled'); + }); + + test('expect to allow disabling a recently installed private app in EE', async () => { + await poMarketplace.lastAppRow.click(); + await expect(poMarketplace.appStatusTag).toHaveText('Enabled'); + await poMarketplace.appMenu.click(); + await expect(poMarketplace.btnDisableApp).toBeEnabled(); + await poMarketplace.btnDisableApp.click(); + await expect(poMarketplace.appStatusTag).toHaveText('Disabled'); + }); + + test('expect to allow admin to update a disabled private app in EE, which should remain disabled', async ({ page }) => { + const fileChooserPromise = page.waitForEvent('filechooser'); + + await poMarketplace.btnUploadPrivateApp.click(); + await expect(poMarketplace.btnInstallPrivateApp).toBeDisabled(); + + await poMarketplace.btnUploadPrivateAppFile.click(); + const fileChooser = await fileChooserPromise; + await fileChooser.setFiles('./tests/e2e/fixtures/files/test-app_0.0.1.zip'); + + await expect(poMarketplace.btnInstallPrivateApp).toBeEnabled(); + await poMarketplace.btnInstallPrivateApp.click(); + await poMarketplace.btnConfirmAppUpdate.click(); + await page.getByRole('button', { name: 'Agree' }).click(); + + await page.goto('/marketplace/private'); + await poMarketplace.lastAppRow.click(); + await expect(poMarketplace.appStatusTag).toHaveText('Disabled'); + }); }); test.describe('Community Edition', () => { @@ -89,8 +138,8 @@ test.describe.serial('Private apps upload', () => { await poMarketplace.btnConfirmAppUpdate.click(); await page.getByRole('button', { name: 'Agree' }).click(); - await expect(poMarketplace.appStatusTag).toHaveText('Disabled'); - await page.reload(); + await page.goto('/marketplace/private'); + await poMarketplace.lastAppRow.click(); await expect(poMarketplace.appStatusTag).toHaveText('Disabled'); }); });