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

Merge branch 'master' of git.ozg-sh.de:mgm/goofy

parents 13dd9561 186f08aa
Branches
Tags
No related merge requests found
Showing
with 169 additions and 56 deletions
export class AntragstellerE2EComponent {
private readonly antragstellerName: string = 'antragsteller-name';
private readonly antragstellerEmail: string = 'antragsteller-email';
private readonly antragstellerTelefon: string = 'antragsteller-telefon';
private readonly antragstellerStrasseHausnummer: string = 'antragsteller-strasse-hausnummer';
private readonly antragstellerPlzOrt: string = 'antragsteller-plz-ort';
private readonly antragstellerBirthData: string = 'antragsteller-geburt';
private readonly locatorRoot: string = 'vorgang-detail-antragsteller';
public getRoot() {
return cy.getTestElement(this.locatorRoot);
}
public getName() {
return cy.getTestElement(this.antragstellerName);
}
public getEmail() {
return cy.getTestElement(this.antragstellerEmail);
}
public getTelefon() {
return cy.getTestElement(this.antragstellerTelefon);
}
public getStrasseHausnummer() {
return cy.getTestElement(this.antragstellerStrasseHausnummer);
}
public getPlzOrt(): void {
return cy.getTestElement(this.antragstellerPlzOrt);
}
public getBirthData() {
return cy.getTestElement(this.antragstellerBirthData);
}
}
\ No newline at end of file
......@@ -32,6 +32,12 @@
"geburtsdatum": "1995-03-21",
"geburtsort": "Flensburg",
"geburtsname": "Max Testermann",
"email": "testermann.e2e@mail.me",
"telefon": "+ 49 3X4 434X",
"strasse": "testpipelineStrasse",
"hausnummer": "22a",
"plz": "66X00",
"ort": "Schleswig Holstein",
"postfachId" : "04d39269-81c5-4838-8b73-08d9567f06d7"
},
"zustaendigeStelle": {
......
......@@ -2,6 +2,7 @@ import { formatDate, registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
import localeDeExtra from '@angular/common/locales/extra/de';
import { ExpansionPanelE2Eomponent } from '../../components/ui/expansion-panel.e2e.component';
import { AntragstellerE2EComponent } from '../../components/vorgang/vorgang-antragsteller.e2e.component';
import { VorgangDetailHeaderE2EComponent } from '../../components/vorgang/vorgang-detail-header.e2e.component';
import { VorgangFormularE2EComponent } from '../../components/vorgang/vorgang-formular.e2e.component';
import { VorgangListE2EComponent } from '../../components/vorgang/vorgang-list.e2e.component';
......@@ -11,7 +12,7 @@ import { VorgangPage } from '../../page-objects/vorgang.po';
import { dropCollections, reload } from '../../support/cypress-helper';
import { contains, exist, haveText, shouldFirstContains, shouldHaveAttributeBeGreaterThan, shouldHaveAttributeBeLowerThan } from '../../support/cypress.util';
import { loginAsSabine } from '../../support/user-util';
import { createVorgang, initVorgang } from '../../support/vorgang-util';
import { AntragstellerE2ETestData, createVorgang, initVorgang } from '../../support/vorgang-util';
registerLocaleData(localeDe, 'de', localeDeExtra);
......@@ -23,6 +24,7 @@ describe('Vorgang Detailansicht', () => {
const vorgangFormular: VorgangFormularE2EComponent = new VorgangFormularE2EComponent();
const vorgangHeader: VorgangDetailHeaderE2EComponent = new VorgangDetailHeaderE2EComponent();
const expansionPanelContainer: ExpansionPanelE2Eomponent = vorgangPage.getFormularContainer().getExpansionPanelContainer();
const antragsteller: AntragstellerE2EComponent = vorgangPage.getAntragstellerContainer();
const vorgang: VorgangE2E = createVorgang();
......@@ -38,51 +40,90 @@ describe('Vorgang Detailansicht', () => {
dropCollections();
})
it('Open Vorgang-Detail-Page', () => {
describe('navigate to vorgang detail', () => {
it('should have header', () => {
vorgangList.getListItem(vorgang.name).getRoot().click();
exist(vorgangHeader.getRoot());
})
it('Check Values', () => {
it('should have header data', () => {
testHeaderDaten(vorgang);
})
it('check array in formdata', () => {
it('should have "bez flurstueck" in formdata', () => {
contains(vorgangFormular.getRoot(), vorgang.eingangs[0].formData.bezFlurstuek[0]);
contains(vorgangFormular.getRoot(), vorgang.eingangs[0].formData.bezFlurstuek[1]);
})
it('Reload Page', () => {
it('should have header data after reload', () => {
reload();
exist(vorgangHeader.getRoot());
})
it('Check Values again', () => {
testHeaderDaten(vorgang);
})
it('Check Expanion Panel', () => {
it('should contains Formulardaten panel', () => {
shouldFirstContains(expansionPanelContainer.getExpansionPanelTitle(), 'Formulardaten');
})
it('Check Expansion Panel is open', () => {
it('should have Formulardaten panel open initial', () => {
shouldHaveAttributeBeGreaterThan(expansionPanelContainer.getExpansionPanel(), 'outerHeight', 50);
})
it('Check if Expansion Panel is closeable', () => {
it('should Formularpanel to be close after klick', () => {
expansionPanelContainer.getExpansionPanelTitle().first().click();
shouldHaveAttributeBeLowerThan(expansionPanelContainer.getExpansionPanel(), 'outerHeight', 50);
})
function testHeaderDaten(vorgang: VorgangE2E) {
const keinAz = 'kein Aktenzeichen zugewiesen';
const keinAz: string = 'kein Aktenzeichen zugewiesen';
haveText(vorgangHeader.getStatus(), vorgangStatusLabelE2E[vorgang.status]);
haveText(vorgangHeader.getAktenzeichen(), vorgang.aktenzeichen ? vorgang.aktenzeichen : keinAz);
haveText(vorgangHeader.getName(), vorgang.name);
haveText(vorgangHeader.getCreatedAt(), formatDate(vorgang.createdAt.$date, 'EEEE, d. MMMM y, HH:mm', 'de'));
}
})
describe('Antragsteller data', () => {
it('should contains Antragsteller area', () => {
exist(antragsteller.getRoot());
})
it('should contains name', () => {
exist(antragsteller.getName());
contains(antragsteller.getName(), AntragstellerE2ETestData.anrede);
contains(antragsteller.getName(), AntragstellerE2ETestData.vorname);
contains(antragsteller.getName(), AntragstellerE2ETestData.nachname);
})
it('should contains email', () => {
exist(antragsteller.getEmail());
contains(antragsteller.getEmail(), AntragstellerE2ETestData.email);
})
it('should contains telefon', () => {
exist(antragsteller.getTelefon());
contains(antragsteller.getTelefon(), AntragstellerE2ETestData.telefon);
})
it('should contains adresse', () => {
exist(antragsteller.getStrasseHausnummer());
contains(antragsteller.getStrasseHausnummer(), AntragstellerE2ETestData.strasse);
contains(antragsteller.getStrasseHausnummer(), AntragstellerE2ETestData.hausnummer);
exist(antragsteller.getPlzOrt());
contains(antragsteller.getPlzOrt(), AntragstellerE2ETestData.plz);
contains(antragsteller.getPlzOrt(), AntragstellerE2ETestData.ort);
})
it('should contains birth data', () => {
exist(antragsteller.getBirthData());
contains(antragsteller.getBirthData(), AntragstellerE2ETestData.geburtsort);
})
})
});
\ No newline at end of file
......@@ -35,10 +35,17 @@ export class EingangHeaderE2E {
export class AntragstellerE2E {
anrede: string;
nachname: string;
vorganem: string;
vorname: string;
geburtsort: string;
geburtsname: string;
postfachId: string;
geburtsdatum: string;
email: string;
telefon: string;
strasse: string;
hausnummer: string;
plz: string;
ort: string;
}
export class ZustaendigeStelleE2E {
......
......@@ -3,6 +3,7 @@ import { KommentarE2EComponent } from '../components/kommentar/kommentar-list.e2
import { PostfachMailFormularE2EComponent } from '../components/postfach/postfach-mail-formular.e2e.component';
import { PostfachMailE2EComponent } from '../components/postfach/postfach-mail.e2e.component';
import { FixedDialogE2EComponent } from '../components/ui/fixed-dialog.e2e.component';
import { AntragstellerE2EComponent } from '../components/vorgang/vorgang-antragsteller.e2e.component';
import { VorgangDetailHeaderE2EComponent } from '../components/vorgang/vorgang-detail-header.e2e.component';
import { VorgangFormularE2EComponent } from '../components/vorgang/vorgang-formular.e2e.component';
import { VorgangForwardingE2EComponent } from '../components/vorgang/vorgang-forward.e2e.component';
......@@ -19,6 +20,7 @@ export class VorgangPage {
private readonly anhangContainer: AnhangE2EComponent;
private readonly kommentarContainer: KommentarE2EComponent;
private readonly postfachMailContainer: PostfachMailE2EComponent;
private readonly antragstellerContainer: AntragstellerE2EComponent = new AntragstellerE2EComponent();
private readonly locatorSpinner: string = 'spinner';
private readonly locatorProgressBar: string = 'progress-bar';
......@@ -74,6 +76,10 @@ export class VorgangPage {
return this.postfachMailFormular;
}
public getAntragstellerContainer(): AntragstellerE2EComponent {
return this.antragstellerContainer;
}
public getProgressBar() {
return cy.getTestElement(this.locatorProgressBar);
}
......
import { VorgangE2E } from '../model/vorgang';
import { AntragstellerE2E, VorgangE2E } from '../model/vorgang';
import { initVorgangData } from './cypress-helper';
export const objectIds: string[] = require('../fixtures/util/object_id_collection.json');
......@@ -23,3 +23,5 @@ export function initVorgang(vorgang: VorgangE2E): void {
export function initVorgaenge(vorgaenge: VorgangE2E[]): void {
initVorgangData(vorgaenge);
}
export const AntragstellerE2ETestData: AntragstellerE2E = createVorgang().eingangs[0].antragsteller;
\ No newline at end of file
......@@ -14,7 +14,7 @@
&:hover,
&:focus-within {
box-shadow: 0 0 4px rgba(#000, 0.32);
// TODO add Keyboard focus
}
::ng-deep {
......
......@@ -24,8 +24,9 @@
<div class="sticky-right">
<h3>Antragstellerdaten</h3>
<goofy-client-vorgang-detail-antragsteller *ngIf="vorgangResource.eingang.antragsteller as antragsteller" [antragsteller]="antragsteller" data-test-id="vorgang-detail-antragsteller"></goofy-client-vorgang-detail-antragsteller>
<div class="nachrichten">
<h3>Nachrichten</h3>
<goofy-client-postfach-mail-list-container *ngIf="vorgangResource | hasLink: linkRel.POSTFACH_MAILS" [vorgang]="vorgangResource" data-test-id="postfach-nachrichten-container-in-vorgang" class="scroll-area"></goofy-client-postfach-mail-list-container>
</div>
</div>
</ng-container>
......@@ -11,6 +11,7 @@
.container {
width: calc(100% - 300px);
border-right: 1px solid rgba(0, 0, 0, 0.08);
min-height: calc(100vh - 200px);
}
.sticky-right {
......@@ -58,3 +59,13 @@
margin-right: 8px;
}
}
h3 {
font-weight: 500;
}
.nachrichten {
border-top: 1px solid rgba(0, 0, 0, 0.08);
margin-top: 16px;
padding-top: 16px;
}
......@@ -6,7 +6,7 @@ import { AnhangListContainerComponent } from '@goofy-client/ozg-file';
import { PostfachMailListContainerComponent } from '@goofy-client/postfach';
import { createEmptyStateResource, createStateResource, HasLinkPipe, ToEmbeddedResourcesPipe } from '@goofy-client/tech-shared';
import { ButtonWithSpinnerComponent, ExpansionPanelComponent } from '@goofy-client/ui';
import { Antragsteller, Vorgang, VorgangHeaderLinkRel, VorgangResource, VorgangWithEingang, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
import { VorgangHeaderLinkRel, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
import { WiedervorlageListInVorgangContainerComponent } from '@goofy-client/wiedervorlage';
import { SpinnerComponent } from 'libs/ui/src/lib/ui/spinner/spinner.component';
import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
......@@ -140,14 +140,7 @@ describe('VorgangDetailAreaComponent', () => {
})
it('should be hidden', () => {
const vorgangOhneAntragsteller: VorgangWithEingangResource = {
...vorgang,
eingang: {
...vorgang.eingang,
antragsteller: null,
}
};
component.vorgangStateResource = createStateResource(vorgangOhneAntragsteller);
component.vorgangStateResource = createStateResource(vorgang);
fixture.detectChanges();
const element = fixture.nativeElement.querySelector(postfachNachrichtenContainer);
......@@ -159,7 +152,7 @@ describe('VorgangDetailAreaComponent', () => {
describe('antragsteller details', () => {
it('should be visible', () => {
component.vorgangStateResource = createStateResource(createVorgangWithEingangResource([VorgangHeaderLinkRel.KOMMENTARE]));
component.vorgangStateResource = createStateResource(vorgang);
fixture.detectChanges();
const element = fixture.nativeElement.querySelector(vorgangDetailAntragsteller);
......@@ -168,7 +161,14 @@ describe('VorgangDetailAreaComponent', () => {
})
it('should be hidden', () => {
component.vorgangStateResource = createStateResource(vorgang);
const vorgangOhneAntragsteller: VorgangWithEingangResource = {
...vorgang,
eingang: {
...vorgang.eingang,
antragsteller: null,
}
};
component.vorgangStateResource = createStateResource(vorgangOhneAntragsteller);
fixture.detectChanges();
const element = fixture.nativeElement.querySelector(vorgangDetailAntragsteller);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment