diff --git a/e2e/tests/e2e/button.spec.cy.ts b/e2e/tests/e2e/button.spec.cy.ts index 4d1d2cc6edf08b2859a677bd5d070a6209e6916b..4c368761df15e308cbd8699501f9b1ec03263281 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 84938cd85d84df263a463f04ee41e32731509e72..477263b6a4e3c219266f335c8b9405d7dde9bed2 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 a26bf8446b741bc5779f803775923a7ece3e6fa5..c730c9cbb7639dc1634d30cb252832cbe0badea6 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 b963cb75c13e64cf476cc51ad260476fe4f51d0a..e4eee228167aea10ad442eff015a9a7f49d1450f 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(); +}