diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts index d4661c6d5f536cda3e4286f4064b157cd5e56cf0..415799c611732fbe280decf67ded9242212306bd 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts @@ -7,17 +7,22 @@ import { VorgangE2E } 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, notExist } from '../../../support/cypress.util'; +import { beDisabled, contains, exist, notBeDisabled, notExist } from '../../../support/cypress.util'; import { loginAsPeter, loginAsSabine } from '../../../support/user-util'; import { createVorgang, initVorgaenge } from '../../../support/vorgang-util'; +import { ForwardingDialogE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component'; registerLocaleData(localeDe, 'de', localeDeExtra); -describe('Vorgang weiterleiten innerhalb der OzgCloud', () => { +describe('Vorgang weiterleiten', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); + const organisationsEinheitName = 'Landeshauptstadt Kiel - Pries-Friedrichsort Stadtteilamt'; + const organisationsEinheitAddress = 'An der Schanze 45, 24159 Kiel'; + const vorgangPage: VorgangPage = new VorgangPage(); + const forwardingDialog: ForwardingDialogE2EComponent = vorgangPage.getForwardingDialogContainer(); const vorgangFormularButtons: VorgangFormularButtonsE2EComponent = vorgangPage.getFormularButtons(); const vorgangWeiterleiten: VorgangE2E = { ...createVorgang(), name: 'Weiterleitung' }; @@ -43,14 +48,75 @@ describe('Vorgang weiterleiten innerhalb der OzgCloud', () => { exist(vorgangFormularButtons.getForwardButton()); }); - it('should not display Weiterleiten button in Status Angenommen', () => { + it('should open forwarding dialog on forward button click', () => { + vorgangFormularButtons.getForwardButton().click(); + + exist(forwardingDialog.getRoot()); + }); + + it('should have zufi search', () => { + exist(forwardingDialog.getZufiSearch()); + }); + + it('should have disabled forwarding button', () => { + beDisabled(forwardingDialog.getForwardingButton()); + }); + + it('should close dialog on escape', () => { + forwardingDialog.getRoot().type('{esc}'); + + notExist(forwardingDialog.getRoot()); + }); + + it('should close dialog on abbrechen button', () => { + vorgangFormularButtons.getForwardButton().click(); + forwardingDialog.getCancelButton().click(); + + notExist(forwardingDialog.getRoot()); + }); + + it('should close dialog on x icon', () => { + vorgangFormularButtons.getForwardButton().click(); + forwardingDialog.getCancelIconButton().click(); + + notExist(forwardingDialog.getRoot()); + }); + + it('should show forwarding item on search select', () => { + vorgangFormularButtons.getForwardButton().click(); + forwardingDialog.search(organisationsEinheitName); + forwardingDialog.clickSearchEntry(0); + + exist(forwardingDialog.getForwardingItem()); + contains(forwardingDialog.getForwardingItem(), organisationsEinheitName); + contains(forwardingDialog.getForwardingItem(), organisationsEinheitAddress); + }); + + it('should not show zufi search on search select', () => { + notExist(forwardingDialog.getZufiSearch()); + }); + + it('should not disable forwarding button on search select', () => { + notBeDisabled(forwardingDialog.getForwardingButton()); + }); + + it('should clear forwarding item on change button click', () => { + forwardingDialog.getChangeButton().click(); + + notExist(forwardingDialog.getForwardingItem()); + exist(forwardingDialog.getZufiSearch()); + beDisabled(forwardingDialog.getForwardingButton()); + }); + + it('should not display Weiterleiten button in status Angenommen', () => { + forwardingDialog.getCancelButton().click(); vorgangFormularButtons.getAnnehmenButton().click(); waitForSpinnerToDisappear(); notExist(vorgangFormularButtons.getForwardButton()); }); - it('should not display Weiterleiten button in Status In Bearbeitung', () => { + it('should not display Weiterleiten button in status In Bearbeitung', () => { vorgangFormularButtons.getBearbeitenButton().click(); waitForSpinnerToDisappear();