diff --git a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-by-email-failed.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-by-email-failed.cy.ts new file mode 100644 index 0000000000000000000000000000000000000000..fca960929543d549c7a604dae8ce7bb615e97c32 --- /dev/null +++ b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-by-email-failed.cy.ts @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +import { ForwardFormularE2EComponent } from '../../../components/vorgang/vorgang-forward-formular.e2e.component'; +import { ForwardingByEmailE2EComponent } from '../../../components/vorgang/vorgang-forward.e2e.component'; +import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component'; +import { VorgangE2E, VorgangStatusE2E, vorgangStatusLabelE2E } from '../../../model/vorgang'; +import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po'; +import { VorgangPage } from '../../../page-objects/vorgang.po'; +import { dropCollections } from '../../../support/cypress-helper'; +import { exist, haveText, notExist } from '../../../support/cypress.util'; +import { FORWARDING_TEST_EMAIL } from '../../../support/data.util'; +import { loginAsEmil } from '../../../support/user-util'; +import { createVorgang, initVorgang } from '../../../support/vorgang-util'; + +describe('Vorgang forwarding by email failed', () => { + const mainPage: MainPage = new MainPage(); + const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); + + const vorgangPage: VorgangPage = new VorgangPage(); + const forwardingContainer: ForwardingByEmailE2EComponent = vorgangPage.getForwardingByEmailContainer(); + + const vorgang: VorgangE2E = createVorgang(); + + before(() => { + initVorgang(vorgang); + + loginAsEmil(); + + waitForSpinnerToDisappear(); + exist(vorgangList.getRoot()); + }); + + after(() => { + dropCollections(); + }); + + describe('after click on vorgang', () => { + it('should show vorgang header', () => { + vorgangList.getListItem(vorgang.name).getRoot().click(); + waitForSpinnerToDisappear(); + + exist(vorgangPage.getVorgangDetailHeader().getRoot()); + }); + + it('should show forwarding', () => { + exist(forwardingContainer.getRoot()); + }); + }); + + describe('fill forward formular', () => { + it('should show spinner with text on valid formular', { defaultCommandTimeout: 30000 }, () => { + const formular: ForwardFormularE2EComponent = forwardingContainer.getFormular(); + formular.getZustaendigeStelle().clear().type(FORWARDING_TEST_EMAIL); + formular.getPasswort().clear().type('validespasswort'); + + formular.getForwardButton().click(); + + exist(forwardingContainer.getSpinner()); + }); + }); + + describe('mark forwarding as fail', () => { + it('should have status ' + vorgangStatusLabelE2E[VorgangStatusE2E.WEITERGELEITET], () => { + waitForSpinnerToDisappear(); + + haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.WEITERGELEITET]); + }); + + it('should show forward success text', () => { + exist(forwardingContainer.getForwardingSuccessMessage()); + }); + + it('should show "mark as fail" button', () => { + exist(forwardingContainer.getMarkAsFailButton()); + }); + + it('should NOT show formular', () => { + notExist(forwardingContainer.getFormular().getRoot()); + }); + + it('should show "zustellung failed message" after click on button', () => { + forwardingContainer.getMarkAsFailButton().click(); + + exist(forwardingContainer.getFailedMessage()); + }); + + it('should show formular', () => { + exist(forwardingContainer.getFormular().getRoot()); + }); + + it('should hide mark as fail button', () => { + notExist(forwardingContainer.getMarkAsFailButton()); + }); + + it('should hide mark as success button', () => { + notExist(forwardingContainer.getMarkAsSuccessButton()); + }); + }); + + describe('switch to list view', () => { + it('should have status ' + vorgangStatusLabelE2E[VorgangStatusE2E.IN_BEARBEITUNG] + ' in list', () => { + vorgangPage.getSubnavigation().getBackButton().click(); + waitForSpinnerToDisappear(); + + haveText(vorgangList.getListItem(vorgang.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.IN_BEARBEITUNG]); + }); + }); +});