Skip to content

Commit

Permalink
e2e test for large extension that disables cache (rancher#11027)
Browse files Browse the repository at this point in the history
* prepare e2e test for large extension that disables cache according to 10639

* adjust e2e2 test

* finish e2e test

* fix e2e test
  • Loading branch information
aalves08 authored Jun 18, 2024
1 parent 1db3aad commit e750c25
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions cypress/e2e/tests/pages/extensions/extensions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ import PromptRemove from '@/cypress/e2e/po/prompts/promptRemove.po';
import BurgerMenuPo from '@/cypress/e2e/po/side-bars/burger-side-menu.po';
import { LoginPagePo } from '@/cypress/e2e/po/pages/login-page.po';

const DISABLED_CACHE_EXTENSION_NAME = 'large-extension';
const DISABLED_CACHE_EXTENSION_MENU_LABEL = 'Large-extension';
const DISABLED_CACHE_EXTENSION_TITLE = 'Large extension demo (> 20mb) - cache testing';
const UNAUTHENTICATED_EXTENSION_NAME = 'uk-locale';
const EXTENSION_NAME = 'clock';
const UI_PLUGINS_PARTNERS_REPO_URL = 'https://github.com/rancher/partner-extensions';
Expand Down Expand Up @@ -258,6 +261,35 @@ describe('Extensions page', { tags: ['@extensions', '@adminUser'] }, () => {
extensionsPo.extensionCard(EXTENSION_NAME).should('be.visible');
});

it('An extension larger than 20mb, which will trigger chacheState disabled, should install and work fine', () => {
const extensionsPo = new ExtensionsPagePo();

extensionsPo.goTo();

extensionsPo.extensionTabAvailableClick();

// click on install button on card
extensionsPo.extensionCardInstallClick(DISABLED_CACHE_EXTENSION_NAME);
extensionsPo.extensionInstallModal().should('be.visible');

// click install
extensionsPo.installModalInstallClick();

// let's check the extension reload banner and reload the page
extensionsPo.extensionReloadBanner().should('be.visible');
extensionsPo.extensionReloadClick();

// make sure extension card is in the installed tab
extensionsPo.extensionTabInstalledClick();
extensionsPo.extensionCardClick(DISABLED_CACHE_EXTENSION_NAME);
extensionsPo.extensionDetailsTitle().should('contain', DISABLED_CACHE_EXTENSION_NAME);
extensionsPo.extensionDetailsCloseClick();

// check if extension is working fine
BurgerMenuPo.burgerMenuNavToMenubyLabel(DISABLED_CACHE_EXTENSION_MENU_LABEL);
cy.get('h1').should('have.text', DISABLED_CACHE_EXTENSION_TITLE);
});

it('Should respect authentication when importing extension scripts', () => {
const extensionsPo = new ExtensionsPagePo();

Expand Down Expand Up @@ -310,10 +342,16 @@ describe('Extensions page', { tags: ['@extensions', '@adminUser'] }, () => {
extensionsPo.extensionCardUninstallClick(EXTENSION_NAME);
extensionsPo.extensionUninstallModal().should('be.visible');
extensionsPo.uninstallModaluninstallClick();
extensionsPo.extensionReloadBanner().should('be.visible');

extensionsPo.extensionCardUninstallClick(UNAUTHENTICATED_EXTENSION_NAME);
extensionsPo.extensionUninstallModal().should('be.visible');
extensionsPo.uninstallModaluninstallClick();
extensionsPo.extensionReloadBanner().should('be.visible');

extensionsPo.extensionCardUninstallClick(DISABLED_CACHE_EXTENSION_NAME);
extensionsPo.extensionUninstallModal().should('be.visible');
extensionsPo.uninstallModaluninstallClick();

// let's check the extension reload banner and reload the page
extensionsPo.extensionReloadBanner().should('be.visible');
Expand Down

0 comments on commit e750c25

Please sign in to comment.