Skip to content
Snippets Groups Projects
Commit 4e1a2c40 authored by Martin's avatar Martin
Browse files

OZG-7501 add e2e test for forwarding

parent 3f593904
No related branches found
No related tags found
2 merge requests!107Ozg 7473 e2e,!105Ozg 7501 adjust loading
Showing
with 152 additions and 2 deletions
......@@ -2,7 +2,7 @@ export class ForwardingDialogE2EComponent {
private readonly root: string = 'forwarding-dialog';
private readonly cancelButton: string = 'cancel-dialog-button';
private readonly cancelIconButton: string = 'cancel-dialog-icon-button';
private readonly forwardingButton: string = 'forwarding-button';
private readonly forwardingButton: string = 'forwarding-dialog-forwarding-button';
private readonly searchText: string = 'instant_search-text-input';
private readonly searchEntry: string = 'item-button';
private readonly forwardingItem: string = 'forwarding-item';
......
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
import localeDeExtra from '@angular/common/locales/extra/de';
import { E2EAppHelper } from 'apps/alfa-e2e/src/helper/app.helper';
import { E2EForwardingHelper } from 'apps/alfa-e2e/src/helper/forwarding/forwarding.helper';
import { E2EOrganisationsEinheit } from 'apps/alfa-e2e/src/model/organisationseinheit';
import { E2EVorgangVerifier } from '../../../helper/vorgang/vorgang.verifier';
import { VorgangE2E } from '../../../model/vorgang';
import { dropCollections } from '../../../support/cypress-helper';
import { createVorgang, initVorgang } from '../../../support/vorgang-util';
registerLocaleData(localeDe, 'de', localeDeExtra);
describe('Vorgang weiterleiten', () => {
const appHelper: E2EAppHelper = new E2EAppHelper();
const vorgangVerifier: E2EVorgangVerifier = new E2EVorgangVerifier();
const forwardingHelper: E2EForwardingHelper = new E2EForwardingHelper();
const vorgang: VorgangE2E = { ...createVorgang(), name: 'Weiterleitung' };
before(() => {
initVorgang(vorgang);
appHelper.loginAsSabine();
});
after(() => {
dropCollections();
});
it('should disable all functions after successfully forwarding', () => {
forwardingHelper.openForwarding(vorgang.name);
forwardingHelper.forwardTo(E2EOrganisationsEinheit.HAMBURG_STADTENTWAESSERUNG);
vorgangVerifier.verifyVorgangIsLocked();
});
});
import { VorgangListE2EComponent } from '../components/vorgang/vorgang-list.e2e.component';
import { MainPage, waitForSpinnerToDisappear } from '../page-objects/main.po';
import { exist } from '../support/cypress.util';
import { loginAsSabine } from '../support/user-util';
export class E2EAppHelper {
private readonly mainPage: MainPage = new MainPage();
private readonly vorgangList: VorgangListE2EComponent = new VorgangListE2EComponent();
public loginAsSabine(): void {
loginAsSabine();
this.waitAfterLogin();
}
private waitAfterLogin(): void {
waitForSpinnerToDisappear();
exist(this.vorgangList.getRoot());
}
public navigateToDomain(): void {
this.mainPage.getHeader().getLogo().click();
}
}
import { ForwardingDialogE2EComponent } from '../../components/vorgang/vorgang-forwarding-dialog.e2e.component';
import { waitForSpinnerToDisappear } from '../../page-objects/main.po';
import { exist } from '../../support/cypress.util';
export class E2EForwardingExecutor {
private readonly forwardingDialog = new ForwardingDialogE2EComponent();
public fillForwardingDialog(organisationsEinheit: string): void {
this.forwardingDialog.getSearchText().type(organisationsEinheit);
waitForSpinnerToDisappear();
this.forwardingDialog.clickSearchEntry(0);
exist(this.forwardingDialog.getForwardingItem());
this.forwardingDialog.getForwardingButton().click();
waitForSpinnerToDisappear();
}
}
import { E2EForwardingExecutor } from './forwarding.executor';
import { E2EForwardingNavigator } from './forwarding.navigator';
export class E2EForwardingHelper {
private readonly executor: E2EForwardingExecutor = new E2EForwardingExecutor();
private readonly navigator: E2EForwardingNavigator = new E2EForwardingNavigator();
public openForwarding(vorgangName: string): void {
this.navigator.openForwardDialog(vorgangName);
}
public forwardTo(orgnisationsEinheit: string): void {
this.executor.fillForwardingDialog(orgnisationsEinheit);
}
}
import { VorgangFormularButtonsE2EComponent } from '../../components/vorgang/vorgang-formular-buttons.e2e.components';
import { ForwardingDialogE2EComponent } from '../../components/vorgang/vorgang-forwarding-dialog.e2e.component';
import { exist } from '../../support/cypress.util';
import { E2EVorgangNavigator } from '../vorgang/vorgang.navigator';
export class E2EForwardingNavigator {
private readonly vorgangNavigator: E2EVorgangNavigator = new E2EVorgangNavigator();
private readonly formularButtons: VorgangFormularButtonsE2EComponent = new VorgangFormularButtonsE2EComponent();
private readonly forwardingDialog: ForwardingDialogE2EComponent = new ForwardingDialogE2EComponent();
public openForwardDialog(vorgangName: string): void {
this.vorgangNavigator.openVorgangDetailByName(vorgangName);
this.formularButtons.getForwardButton().click();
exist(this.forwardingDialog.getRoot());
}
}
import { VorgangListE2EComponent } from '../../components/vorgang/vorgang-list.e2e.component';
import { waitForSpinnerToDisappear } from '../../page-objects/main.po';
import { exist } from '../../support/cypress.util';
import { E2EAppHelper } from '../app.helper';
import { E2EVorgangVerifier } from './vorgang.verifier';
export class E2EVorgangNavigator {
private readonly appHelper: E2EAppHelper = new E2EAppHelper();
private readonly verifier: E2EVorgangVerifier = new E2EVorgangVerifier();
private readonly vorgangListPage = new VorgangListE2EComponent();
......@@ -12,4 +16,11 @@ export class E2EVorgangNavigator {
waitForSpinnerToDisappear();
this.verifier.verifyVorgangDetailOpen(vorgangName);
}
public openVorgang(vorgangName: string): void {
this.appHelper.navigateToDomain();
waitForSpinnerToDisappear();
exist(this.vorgangListPage.getRoot());
this.openVorgangDetailByName(vorgangName);
}
}
import { VorgangFormularButtonsE2EComponent } from '../../components/vorgang/vorgang-formular-buttons.e2e.components';
import { VorgangPage } from '../../page-objects/vorgang.po';
import { contains, exist, notExist } from '../../support/cypress.util';
export class E2EVorgangVerifier {
private readonly vorgangPage: VorgangPage = new VorgangPage();
private readonly formularButtons: VorgangFormularButtonsE2EComponent = new VorgangFormularButtonsE2EComponent();
public verifyVorgangDetailOpen(vorgangName: string): void {
exist(this.vorgangPage.getVorgangDetailHeader().getRoot());
......@@ -16,4 +18,25 @@ export class E2EVorgangVerifier {
public verifyNoForwardingButtonExists(): void {
notExist(this.vorgangPage.getFormularButtons().getForwardButton());
}
public verifyVorgangIsLocked(): void {
this.verifyFormularButtonsNotVisible();
notExist(this.vorgangPage.getWiedervorlagenContainer().getCreateWiedervorlageButton());
notExist(this.vorgangPage.getKommentarContainer().getHinzufuegenButton());
notExist(this.vorgangPage.getPostfachMailcontainer().getCreateButtonWithText());
notExist(this.vorgangPage.getPostfachMailcontainer().getCreateButtonWithoutText());
}
private verifyFormularButtonsNotVisible(): void {
notExist(this.formularButtons.getAbschliessenButton());
notExist(this.formularButtons.getBearbeitenButton());
notExist(this.formularButtons.getBescheidenButton());
notExist(this.formularButtons.getEndgueltigLoeschenButton());
notExist(this.formularButtons.getForwardButton());
notExist(this.formularButtons.getLoeschAnforderungZuruecknehmenButton());
notExist(this.formularButtons.getVerwerfenButton());
notExist(this.formularButtons.getWiedereroeffnenButton());
notExist(this.formularButtons.getZurueckholenButton());
notExist(this.formularButtons.getZurueckstellenButton());
}
}
export enum E2EOrganisationsEinheit {
HAMBURG_STADTENTWAESSERUNG = 'Wasserwerk - Hamburg Wasser - Hamburger Stadtentwässerung',
}
......@@ -4,7 +4,7 @@
(clickEmitter)="clickEmitter.emit()"
text="Weiterleiten"
variant="outline"
dataTestId="forwarding-button"
[dataTestId]="dataTestId"
data-test-id="forwarding-button-container"
>
<ods-forward-vorgang-icon icon class="fill-primary" />
......
......@@ -13,6 +13,7 @@ import { ForwardVorgangIconComponent } from '@ods/system';
export class ForwardingButtonComponent {
@Input() disabled: boolean;
@Input() stateResource: StateResource<CommandResource>;
@Input({ required: true }) dataTestId: string;
@Output() clickEmitter: EventEmitter<void> = new EventEmitter();
}
......@@ -16,6 +16,7 @@
[disabled]="!selectedSearchResult"
(clickEmitter)="onForwarding()"
data-test-id="foward-dialog-forward-button"
dataTestId="forwarding-dialog-forwarding-button"
/>
<ods-cancel-dialog-button />
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment