diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts index ac09ea4046a74327aaa0e0460b1cd89afd6af003..7fa1b271ad7f923a8757a96e1e73854837fe101c 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts @@ -37,18 +37,13 @@ import { contains, exist, haveText, + haveTextWithoutChildren, shouldFirstContains, shouldHaveAttributeBeGreaterThan, shouldHaveAttributeBeLowerThan, } from '../../../support/cypress.util'; import { loginAsSabine } from '../../../support/user-util'; -import { - AntragstellerE2ETestData, - buildVorgang, - createVorgang, - initVorgaenge, - objectIds, -} from '../../../support/vorgang-util'; +import { AntragstellerE2ETestData, buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; registerLocaleData(localeDe, 'de', localeDeExtra); @@ -57,13 +52,10 @@ describe('Vorgang Detailansicht', () => { const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const vorgangPage: VorgangPage = new VorgangPage(); - const vorgangDatenFormular: VorgangFormularDatenE2EComponent = - vorgangPage.getFormularDatenContainer(); + const vorgangDatenFormular: VorgangFormularDatenE2EComponent = vorgangPage.getFormularDatenContainer(); const vorgangHeader: VorgangDetailHeaderE2EComponent = vorgangPage.getVorgangDetailHeader(); - const expansionPanelContainer: ExpansionPanelE2Eomponent = vorgangPage - .getFormularDatenContainer() - .getExpansionPanelContainer(); + const expansionPanelContainer: ExpansionPanelE2Eomponent = vorgangPage.getFormularDatenContainer().getExpansionPanelContainer(); const antragsteller: AntragstellerE2EComponent = vorgangPage.getAntragstellerContainer(); const vorgang: VorgangE2E = { ...createVorgang(), name: 'TestVorgang' }; @@ -97,16 +89,10 @@ describe('Vorgang Detailansicht', () => { it('should have header data', () => { haveText(vorgangHeader.getStatus(), vorgangStatusLabelE2E[vorgang.status]); - haveText( - vorgangHeader.getAktenzeichen(), - vorgang.aktenzeichen ? vorgang.aktenzeichen : NO_AKTENZEICHEN, - ); - haveText(vorgangHeader.getVorgangNummer(), vorgang.nummer); + haveTextWithoutChildren(vorgangHeader.getAktenzeichen(), vorgang.aktenzeichen ? vorgang.aktenzeichen : NO_AKTENZEICHEN); + haveTextWithoutChildren(vorgangHeader.getVorgangNummer(), vorgang.nummer); haveText(vorgangHeader.getName(), vorgang.name); - haveText( - vorgangHeader.getCreatedAt(), - formatDate(vorgang.createdAt.$date, 'EEEE, dd. MMMM y, HH:mm', 'de'), - ); + haveText(vorgangHeader.getCreatedAt(), formatDate(vorgang.createdAt.$date, 'EEEE, dd. MMMM y, HH:mm', 'de')); }); it('should have header data after reload', () => { @@ -114,16 +100,10 @@ describe('Vorgang Detailansicht', () => { exist(vorgangHeader.getRoot()); haveText(vorgangHeader.getStatus(), vorgangStatusLabelE2E[vorgang.status]); - haveText( - vorgangHeader.getAktenzeichen(), - vorgang.aktenzeichen ? vorgang.aktenzeichen : NO_AKTENZEICHEN, - ); - haveText(vorgangHeader.getVorgangNummer(), vorgang.nummer); + haveTextWithoutChildren(vorgangHeader.getAktenzeichen(), vorgang.aktenzeichen ? vorgang.aktenzeichen : NO_AKTENZEICHEN); + haveTextWithoutChildren(vorgangHeader.getVorgangNummer(), vorgang.nummer); haveText(vorgangHeader.getName(), vorgang.name); - haveText( - vorgangHeader.getCreatedAt(), - formatDate(vorgang.createdAt.$date, 'EEEE, dd. MMMM y, HH:mm', 'de'), - ); + haveText(vorgangHeader.getCreatedAt(), formatDate(vorgang.createdAt.$date, 'EEEE, dd. MMMM y, HH:mm', 'de')); }); }); @@ -136,10 +116,7 @@ describe('Vorgang Detailansicht', () => { }); it('should show "empfangendestelle"', () => { - contains( - vorgangDatenFormular.getRoot(), - vorgang.eingangs[0].formData.empfangendestelle.emailadresse, - ); + contains(vorgangDatenFormular.getRoot(), vorgang.eingangs[0].formData.empfangendestelle.emailadresse); }); }); @@ -174,21 +151,13 @@ describe('Vorgang Detailansicht', () => { }); it('should have Formulardaten panel open initial', () => { - shouldHaveAttributeBeGreaterThan( - expansionPanelContainer.getExpansionPanel(), - 'outerHeight', - 50, - ); + shouldHaveAttributeBeGreaterThan(expansionPanelContainer.getExpansionPanel(), 'outerHeight', 50); }); it('should close the panel', () => { expansionPanelContainer.getExpansionPanelTitle().first().click(); - shouldHaveAttributeBeLowerThan( - expansionPanelContainer.getExpansionPanel(), - 'outerHeight', - 50, - ); + shouldHaveAttributeBeLowerThan(expansionPanelContainer.getExpansionPanel(), 'outerHeight', 50); }); }); }); diff --git a/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts b/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts index ce27ac7e46551eb1cebe36055894341e23ae6106..69e7bccdfc44a17993598e6c49a8e81bd066db33 100644 --- a/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts +++ b/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts @@ -52,6 +52,16 @@ export function haveText(element: any, text: string): void { .should('equal', text); } +export function haveTextWithoutChildren(element: any, text: string): void { + element + .invoke('clone') + .then((element) => { + element.children().remove(); + return element.text().trim(); + }) + .should('equal', text); +} + export function haveValue(element: any, value: string): void { element.should('have.value', value); } @@ -93,11 +103,7 @@ export function shouldFirstContains(element: any, containing: string) { element.first().should('exist').contains(containing); } -export function shouldHaveAttributeBeGreaterThan( - element: any, - attributeName: string, - value: number, -) { +export function shouldHaveAttributeBeGreaterThan(element: any, attributeName: string, value: number) { element.first().should('exist').invoke(attributeName).should('be.gt', value); } @@ -122,11 +128,7 @@ export function enter(element: any): void { element.clear().type(CypressKeyboardActions.ENTER); } -export function enterWith( - element: Cypress.Chainable<JQuery<HTMLElement>>, - value: string, - delayBeforeEnter: number = 200, -): void { +export function enterWith(element: Cypress.Chainable<JQuery<HTMLElement>>, value: string, delayBeforeEnter: number = 200): void { element.clear().type(value); wait(delayBeforeEnter); element.type(CypressKeyboardActions.ENTER);