Skip to content
Snippets Groups Projects
Commit 63be04d6 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'OZG-6300-OZG-6417-Zusammarbeit-E2E' (#759) from...

Merge pull request 'OZG-6300-OZG-6417-Zusammarbeit-E2E' (#759) from OZG-6300-OZG-6417-Zusammarbeit-E2E into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/alfa/pulls/759
parents c3c0d98e 504e33be
No related branches found
No related tags found
No related merge requests found
......@@ -211,10 +211,7 @@ services:
- 7080:8080
- 7081:8081
healthcheck:
test: [
'CMD-SHELL',
"wget --spider localhost:8081/version",
]
test: ['CMD-SHELL', 'wget --spider localhost:8081/version']
interval: 5s
timeout: 5s
retries: 5
......
import { enterWith } from '../../support/cypress.util';
import { contains, enterWith, haveValue } from '../../support/cypress.util';
export class VorgangZusammenarbeitE2EComponent {
private readonly anfrageButton: string = 'anfrage-erstellen-button';
......@@ -7,6 +7,12 @@ export class VorgangZusammenarbeitE2EComponent {
private readonly messageText: string = 'Nachricht-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';
private readonly closeSearchButton: string = 'close-search-dialog';
private readonly clearSearchButton: string = 'clear-instant-search';
private readonly searchEntry: string = 'item-button';
private readonly orgaAddress: string = 'organisations-einheit-in-collaboration';
private readonly anfrageResult: string = 'collaboration-request-result';
public getAnfrageButton(): Cypress.Chainable<JQuery<HTMLElement>> {
return cy.getTestElement(this.anfrageButton);
......@@ -64,4 +70,60 @@ export class VorgangZusammenarbeitE2EComponent {
public cancelAnfrage(): void {
this.getCancelButton().click();
}
public getCloseSearchButton(): Cypress.Chainable<JQuery<HTMLElement>> {
return cy.getTestElement(this.closeSearchButton);
}
public closeSearch(): void {
this.getCloseSearchButton().click();
}
public getSearchText(): Cypress.Chainable<JQuery<HTMLElement>> {
return cy.getTestElement(this.searchText);
}
public hasSearchText(text: string): void {
haveValue(this.getSearchText(), text);
}
public enterSearchInput(text: string): void {
this.getSearchText().clear().type(text);
}
public getClearSearchButton(): Cypress.Chainable<JQuery<HTMLElement>> {
return cy.getTestElement(this.clearSearchButton);
}
public clearSearch(): void {
this.getClearSearchButton().click();
}
public countSearchEntries(): Cypress.Chainable<number> {
return cy.getTestElement(this.searchEntry).then((entries) => {
return Cypress.$(entries).length;
});
}
public expectNumberOfEntriesToBe(entries: number): void {
this.countSearchEntries().then((count) => {
expect(count).to.equal(entries);
});
}
public clickSearchEntry(index: number): void {
cy.getTestElement(this.searchEntry).eq(index).click();
}
public addressContains(address: string): void {
contains(cy.getTestElement(this.orgaAddress), address);
}
public getAnfrageResult(): Cypress.Chainable<JQuery<HTMLElement>> {
return cy.getTestElement(this.anfrageResult);
}
public anfrageResultContains(anfrage: string): void {
contains(this.getAnfrageResult(), anfrage);
}
}
......@@ -32,7 +32,7 @@ import {
objectIds,
} from '../../../support/vorgang-util';
describe('Ungelesene Nachrichten', () => {
describe('VorgangList Ungelesene Nachrichten', () => {
const mainPage: MainPage = new MainPage();
const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList();
const vorgangPage: VorgangPage = new VorgangPage();
......
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, VorgangStatusE2E } from 'apps/alfa-e2e/src/model/vorgang';
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 { exist, notExist } from '../../../support/cypress.util';
import { contains, exist, notExist } from '../../../support/cypress.util';
import { initUsermanagerUsers, loginAsSabine } from '../../../support/user-util';
import { buildVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util';
......@@ -30,6 +31,9 @@ describe('Vorgang Zusammenarbeit anfragen', () => {
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]);
......@@ -76,34 +80,43 @@ describe('Vorgang Zusammenarbeit anfragen', () => {
it('should open new search label for Zustaendige Stelle', () => {
zusammenarbeitContainer.createAnfrage();
//button click
//Layer wird angezeigt
zusammenarbeitContainer.searchZustaendigeStelle();
exist(zusammenarbeitContainer.getCloseSearchButton());
exist(zusammenarbeitContainer.getSearchText());
});
it('should close layer on Cancel click', () => {
//click Abbrechen
zusammenarbeitContainer.closeSearch();
notExist(zusammenarbeitContainer.getCloseSearchButton());
notExist(zusammenarbeitContainer.getSearchText());
exist(zusammenarbeitContainer.getZustaendigeStelleButton());
});
it('should show no search on entering 1 element', () => {
//1 Zeichen in Suche eingeben
//keine Vorschau
it('should delete search term on clicking X', () => {
zusammenarbeitContainer.searchZustaendigeStelle();
zusammenarbeitContainer.enterSearchInput(stelleSearch1);
zusammenarbeitContainer.clearSearch();
zusammenarbeitContainer.hasSearchText('');
});
it('should show results on entering 2 elements', () => {
//2 Zeichen in Suche eingeben
//Vorschau kontrollieren
it('should find 2 results after entering kiel', () => {
zusammenarbeitContainer.enterSearchInput(stelleSearch2);
zusammenarbeitContainer.expectNumberOfEntriesToBe(2);
});
it('should delete search term on clicking X', () => {
//X in Suche klicken
//Suche ist leer
//keine Vorschau
it('should close layer after click on search entry', () => {
zusammenarbeitContainer.clickSearchEntry(0);
exist(zusammenarbeitContainer.getSendButton());
notExist(zusammenarbeitContainer.getSearchText());
});
it('should copy and paste Zustaendige Stelle after selection', () => {
//click Suchergebnis
//Adresse und Name wird übernommen
//Layer ist geschlossen
it('should show part of address in Zufi header', () => {
zusammenarbeitContainer.addressContains(stelleSearch2);
});
it('should be able to enter title and message, and show scrollbar on long text', () => {
......@@ -113,11 +126,20 @@ describe('Vorgang Zusammenarbeit anfragen', () => {
zusammenarbeitContainer.messageScrollbarIsPresent();
});
it('should show title and message read-only and remove buttons after sending', () => {
//Button klicken
//Titel und Datum werden angezeigt
//Nachricht wird angezeigt
//Buttons werden ausgeblendet
it('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);
});
});
});
......@@ -157,6 +157,7 @@ export enum VorgangMessagesE2E {
LOESCHEN_ANFORDERN = 'Für den Vorgang wurde eine Löschanforderung gestellt.',
ENDGUELTIG_LOESCHEN = 'Der Vorgang wurde gelöscht.',
WIEDERVORLAGE_BEARBEITEN_NICHT_MOEGLICH = 'Im Status "Zu löschen" ist die Bearbeitung von Wiedervorlagen nicht möglich.',
ZUARBEIT_ANGEFRAGT = 'Die Zuarbeit wurde angefragt.',
}
export const NO_AKTENZEICHEN: string = 'kein Aktenzeichen zugewiesen';
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment