From 8fc4fe28dd61079a610bc5765f417665d9a47f6b Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Wed, 28 Feb 2024 14:13:16 +0100 Subject: [PATCH] [e2e] Restructure util files --- e2e/tests/e2e/button.spec.cy.ts | 2 +- e2e/tests/e2e/dropdown.spec.cy.ts | 2 +- e2e/tests/editor/editor.spec.cy.ts | 11 ++++---- e2e/tests/{helper-functions.ts => util.ts} | 32 +++++++++++++++------- 4 files changed, 29 insertions(+), 18 deletions(-) rename e2e/tests/{helper-functions.ts => util.ts} (69%) diff --git a/e2e/tests/e2e/button.spec.cy.ts b/e2e/tests/e2e/button.spec.cy.ts index 4d1d2cc6e..4c368761d 100644 --- a/e2e/tests/e2e/button.spec.cy.ts +++ b/e2e/tests/e2e/button.spec.cy.ts @@ -1,6 +1,6 @@ import { addPage, addPostMessageStub, navigateToPage, selectFromDropdown -} from '../helper-functions'; +} from '../util'; describe('Button element', { testIsolation: false }, () => { it('creates basic buttons in editor', () => { diff --git a/e2e/tests/e2e/dropdown.spec.cy.ts b/e2e/tests/e2e/dropdown.spec.cy.ts index 84938cd85..477263b6a 100644 --- a/e2e/tests/e2e/dropdown.spec.cy.ts +++ b/e2e/tests/e2e/dropdown.spec.cy.ts @@ -4,7 +4,7 @@ import { assertValueChanged, setCheckbox, setLabelText -} from '../helper-functions'; +} from '../util'; describe('Dropdown element', { testIsolation: false }, () => { it('creates basic dropdown with 2 options', () => { diff --git a/e2e/tests/editor/editor.spec.cy.ts b/e2e/tests/editor/editor.spec.cy.ts index a26bf8446..c730c9cbb 100644 --- a/e2e/tests/editor/editor.spec.cy.ts +++ b/e2e/tests/editor/editor.spec.cy.ts @@ -1,6 +1,6 @@ import { - addButton, addPage, navigateToPage, selectFromDropdown -} from '../helper-functions'; + addElement, addPage, navigateToPage, selectFromDropdown +} from '../util'; describe('Basic Unit', () => { beforeEach(() => { @@ -25,8 +25,7 @@ describe('Basic Unit', () => { it('creates a button element with label text', () => { cy.get('aspect-page-canvas').contains('Knopf').should('not.exist'); - - addButton(); + addElement('Knopf', 'Sonstige'); cy.contains('div', 'Beschriftung').find('input').clear().type('Neue Beschriftung'); cy.get('aspect-page-canvas').contains('Neue Beschriftung').should('exist'); }); @@ -40,8 +39,8 @@ describe('Basic Unit', () => { addPage(); addPage(); navigateToPage(1); - addButton(); - addButton(); + addElement('Knopf', 'Sonstige'); + addElement('Knopf', 'Sonstige'); cy.contains('div', 'Beschriftung').find('input').clear().type('PageRef'); selectFromDropdown('Aktion', 'Seitennavigation'); selectFromDropdown('Aktionsparameter', '2'); diff --git a/e2e/tests/helper-functions.ts b/e2e/tests/util.ts similarity index 69% rename from e2e/tests/helper-functions.ts rename to e2e/tests/util.ts index b963cb75c..e4eee2281 100644 --- a/e2e/tests/helper-functions.ts +++ b/e2e/tests/util.ts @@ -6,9 +6,11 @@ export function navigateToPage(pageIndex: number) { cy.contains(`Seite ${pageIndex}`).click(); } -export function selectFromDropdown(dropdownName: string, optionName: string) { - cy.contains('div', dropdownName).find('mat-select').click(); - cy.get('.cdk-overlay-container').contains(optionName).click(); +export function selectFromDropdown(dropdownName: string, optionName: string, closeOverlay: boolean = false) { + cy.get('aspect-element-model-properties-component') + .contains('mat-form-field', dropdownName).find('mat-select').click(); + cy.get('.cdk-overlay-container').contains(optionName).click({ force: true }); + if (closeOverlay) cy.get('body').click(); } export function addOption(optionName: string): void { @@ -33,14 +35,16 @@ export function setCheckbox(labelText: string): void { .click(); } -export function addButton() { +export function addElement(element: string, expansionPanel?: string): void { // Check if expansion panel is already open; this is important for non-isolated tests - cy.get('mat-expansion-panel').contains('Sonstige').then(expansionPanel => { - if (!expansionPanel.hasClass('mat-expanded')) { - cy.contains('Sonstige').click(); - } - }); - cy.contains('Knopf').click(); + if (expansionPanel) { + cy.get('mat-expansion-panel').contains('Sonstige').then(expansionPanelElement => { + if (!expansionPanelElement.hasClass('mat-expanded')) { + cy.contains(expansionPanel).click(); + } + }); + } + cy.contains(element).click(); } export function addPostMessageStub() { @@ -75,3 +79,11 @@ export function assertValueChanged(id: string, value: any): void { // }) // })); } + +export function addTextElement(text: string): void { + addElement('Text'); + cy.get('.text-text').click(); + cy.get('.ProseMirror p').clear(); + cy.get('.ProseMirror p').type(text); + cy.contains('Speichern').click(); +} -- GitLab