diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-zusammenarbeit.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-zusammenarbeit.e2e.component.ts index 1ab522e98d0504ea85c5f8b197e43194d1eef7fb..0a42bb6b43fcb5656f2a9c9b86e6c19b0ea8a55f 100644 --- a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-zusammenarbeit.e2e.component.ts +++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-zusammenarbeit.e2e.component.ts @@ -3,8 +3,9 @@ import { contains, enterWith, haveValue } from '../../support/cypress.util'; export class VorgangZusammenarbeitE2EComponent { private readonly anfrageButton: string = 'anfrage-erstellen-button'; private readonly zustaendigeStelleButton: string = 'organisations-einheit-search-button'; + private readonly externeStelleButton: string = 'externe-fachstelle-button'; private readonly titelText: string = 'Titel-text-input'; - private readonly messageText: string = 'Nachricht-textarea'; + private readonly messageText: string = 'Beschreibung-textarea'; private readonly sendButton: string = 'collaboration-request-submit-button'; private readonly cancelButton: string = 'collaboration-request-cancel-button'; private readonly searchText: string = 'instant_search-text-input'; @@ -26,10 +27,18 @@ export class VorgangZusammenarbeitE2EComponent { return cy.getTestElement(this.zustaendigeStelleButton); } + public getExterneStelleButton(): Cypress.Chainable<JQuery<HTMLElement>> { + return cy.getTestElement(this.externeStelleButton); + } + public searchZustaendigeStelle(): void { this.getZustaendigeStelleButton().click(); } + public searchExterneStelle(): void { + this.getExterneStelleButton().click(); + } + public getStelleTitel(): Cypress.Chainable<JQuery<HTMLElement>> { return cy.getTestElement(this.titelText); } diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen-extern.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen-extern.cy.ts new file mode 100644 index 0000000000000000000000000000000000000000..56569f985aa4e0a08ec99c3c4c155e7079b2e279 --- /dev/null +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen-extern.cy.ts @@ -0,0 +1,144 @@ +import { registerLocaleData } from '@angular/common'; +import localeDe from '@angular/common/locales/de'; +import localeDeExtra from '@angular/common/locales/extra/de'; +import { SnackBarE2EComponent } from 'apps/alfa-e2e/src/components/ui/snackbar.e2e.component'; +import { VorgangZusammenarbeitE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-zusammenarbeit.e2e.component'; +import { VorgangE2E, VorgangMessagesE2E, VorgangStatusE2E } from 'apps/alfa-e2e/src/model/vorgang'; +import 'cypress-real-events/support'; +import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component'; +import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po'; +import { VorgangPage } from '../../../page-objects/vorgang.po'; +import { dropCollections } from '../../../support/cypress-helper'; +import { contains, exist, notExist } from '../../../support/cypress.util'; +import { initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; +import { buildVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; + +registerLocaleData(localeDe, 'de', localeDeExtra); + +describe('Vorgang Zusammenarbeit externe Stelle anfragen', () => { + const mainPage: MainPage = new MainPage(); + const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); + + const vorgangPage: VorgangPage = new VorgangPage(); + const zusammenarbeitContainer: VorgangZusammenarbeitE2EComponent = vorgangPage.getZusammenarbeitContainer(); + + const zusammenarbeitVorgang: VorgangE2E = { + ...buildVorgang(objectIds[0], 'Zusammenarbeit extern Vorgang'), + status: VorgangStatusE2E.IN_BEARBEITUNG, + }; + + const titleText: string = 'Dies ist ein Test-Titel !"§$%&'; + const messageText: string = + 'Sehr geehrter Tester\n\n Dies ist ein !"§$%& Test\n zum Testen der Nachricht.\n\n\n\nhier sollte eine \nScrollbar\nangezeigt\nwerden!\n\nMfG!'; + const stelleSearch1: string = 'k'; + const stelleSearch2: string = 'Kiel'; + const snackBar: SnackBarE2EComponent = mainPage.getSnackBar(); + + before(() => { + initVorgaenge([zusammenarbeitVorgang]); + initUsermanagerUsers(); + + loginAsSabine(); + + waitForSpinnerToDisappear(); + exist(vorgangList.getRoot()); + }); + + after(() => { + dropCollections(); + }); + + describe('create new Anfrage', () => { + it('should show button for Zusammenarbeit', () => { + vorgangList.getListItem(zusammenarbeitVorgang.name).getRoot().click(); + waitForSpinnerToDisappear(); + + exist(zusammenarbeitContainer.getAnfrageButton()); + }); + + it('should show input elements on externe Anfrage click', () => { + zusammenarbeitContainer.createAnfrage(1); + + exist(zusammenarbeitContainer.getExterneStelleButton()); + exist(zusammenarbeitContainer.getStelleTitel()); + exist(zusammenarbeitContainer.getMessageText()); + exist(zusammenarbeitContainer.getSendButton()); + exist(zusammenarbeitContainer.getCancelButton()); + }); + + it('should close elements on Cancel click', () => { + zusammenarbeitContainer.cancelAnfrage(); + + notExist(zusammenarbeitContainer.getExterneStelleButton()); + notExist(zusammenarbeitContainer.getStelleTitel()); + notExist(zusammenarbeitContainer.getMessageText()); + notExist(zusammenarbeitContainer.getSendButton()); + notExist(zusammenarbeitContainer.getCancelButton()); + exist(zusammenarbeitContainer.getAnfrageButton()); + }); + + it('should open new search label for Zustaendige Stelle', () => { + zusammenarbeitContainer.createAnfrage(1); + zusammenarbeitContainer.searchExterneStelle(); + + exist(zusammenarbeitContainer.getCloseSearchButton()); + exist(zusammenarbeitContainer.getSearchText()); + }); + + it('should close layer on Cancel click', () => { + zusammenarbeitContainer.closeSearch(); + + notExist(zusammenarbeitContainer.getCloseSearchButton()); + notExist(zusammenarbeitContainer.getSearchText()); + exist(zusammenarbeitContainer.getExterneStelleButton()); + }); + + it('should delete search term on clicking X', () => { + zusammenarbeitContainer.searchExterneStelle(); + zusammenarbeitContainer.enterSearchInput(stelleSearch1); + zusammenarbeitContainer.clearSearch(); + + zusammenarbeitContainer.hasSearchText(''); + }); + + it.skip('TODO: Setup Jenkins --- should find 2 results after entering kiel', () => { + zusammenarbeitContainer.enterSearchInput(stelleSearch2); + + zusammenarbeitContainer.expectNumberOfEntriesToBe(2); + }); + + it.skip('should close layer after click on search entry', () => { + zusammenarbeitContainer.clickSearchEntry(0); + + exist(zusammenarbeitContainer.getSendButton()); + notExist(zusammenarbeitContainer.getSearchText()); + }); + + it.skip('should show part of address in Zufi header', () => { + zusammenarbeitContainer.addressContains(stelleSearch2); + }); + + it.skip('should be able to enter title and message, and show scrollbar on long text', () => { + zusammenarbeitContainer.enterTitel(titleText); + zusammenarbeitContainer.enterMessage(messageText); + + zusammenarbeitContainer.messageScrollbarIsPresent(); + }); + + it.skip('should show title and message, show snackbar, and remove buttons after sending', () => { + zusammenarbeitContainer.sendAnfrage(); + + notExist(zusammenarbeitContainer.getSendButton()); + notExist(zusammenarbeitContainer.getCancelButton()); + + zusammenarbeitContainer.anfrageResultContains(titleText); + + //TODO: Zeilenumbrüche (OZG-6682) + //zusammenarbeitContainer.anfrageResultContains(messageText); + + //TODO: Datum wird angezeigt (OZG-6675) + + contains(snackBar.getMessage(), VorgangMessagesE2E.ZUARBEIT_ANGEFRAGT); + }); + }); +}); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen-oeffentlich.cy.ts similarity index 97% rename from alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen.cy.ts rename to alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen-oeffentlich.cy.ts index 4805403d3a7231fc3eb5d3ed5364ebb7ecfa832b..6ff2d230d530effe82454f8b56dcc5e568358279 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-zusammenarbeit/vorgang-zusammenarbeit-anfragen-oeffentlich.cy.ts @@ -15,7 +15,7 @@ import { buildVorgang, initVorgaenge, objectIds } from '../../../support/vorgang registerLocaleData(localeDe, 'de', localeDeExtra); -describe('Vorgang Zusammenarbeit anfragen', () => { +describe('Vorgang Zusammenarbeit öffentliche Stelle anfragen', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); @@ -56,7 +56,7 @@ describe('Vorgang Zusammenarbeit anfragen', () => { exist(zusammenarbeitContainer.getAnfrageButton()); }); - it('should show input elements on Anfrage click', () => { + it('should show input elements on öffentliche Anfrage click', () => { zusammenarbeitContainer.createAnfrage(0); exist(zusammenarbeitContainer.getZustaendigeStelleButton());