diff --git a/goofy-client/apps/goofy-e2e/docker-compose.yml b/goofy-client/apps/goofy-e2e/docker-compose.yml index 3b0a0ea591d1afed116ba0810a7b3cd6e49ecdc6..0b08da07b0c3e073ff906fd980a4ae37459dd698 100644 --- a/goofy-client/apps/goofy-e2e/docker-compose.yml +++ b/goofy-client/apps/goofy-e2e/docker-compose.yml @@ -47,6 +47,8 @@ services: - GRPC_CLIENT_USER_MANAGER_ADDRESS=static://ozg-usermanager:9000 - GRPC_CLIENT_USER_MANAGER_NEGOTIATION_TYPE=PLAINTEXT - KOP_USERMANAGER_URL=http://localhost:9092/migration/user + - OZGCLOUD_PROCESSORS_0_ADDRESS=http://smocker:5080/externe-processor-success + - OZGCLOUD_PROCESSORS_0_NAME=ticketCheck ports: - 9091:9090 depends_on: @@ -56,7 +58,7 @@ services: condition: service_healthy ozg-goofy: - image: docker.ozg-sh.de/goofy:${GOOFY_DOCKER_IMAGE:-snapshot-latest} + image: docker.ozg-sh.de/goofy:PR-326-1.17.0-SNAPSHOT platform: linux/amd64 environment: - GRPC_CLIENT_PLUTO_ADDRESS=static://ozg-pluto:9090 @@ -69,6 +71,12 @@ services: - KEYCLOAK_AUTH_SERVER_URL=https://sso.dev.by.ozg-cloud.de - OZGCLOUD_USER-ASSISTANCE_DOCUMENTATION_URL=/assets/benutzerleitfaden/Benutzerleitfaden_2.5.pdf - GOOFY_FEATURES_VORGANG_EXPORT=true + - OZGCLOUD_VORGANG_PROCESSOR_0_FORM_ID=Erstattung_ERFOLG + - OZGCLOUD_VORGANG_PROCESSOR_0_FORM_ENGINE_NAME=AFM + - OZGCLOUD_VORGANG_PROCESSOR_1_FORM_ID=Erstattung_FAIL + - OZGCLOUD_VORGANG_PROCESSOR_1_FORM_ENGINE_NAME=AFM + - OZGCLOUD_VORGANG_PROCESSOR_NAMES_0=ticketCheck + ports: - 8080:8080 depends_on: @@ -124,4 +132,10 @@ services: ports: - 9092:8080 depends_on: - - ozg-mongodb \ No newline at end of file + - ozg-mongodb + + smocker: + image: thiht/smocker + ports: + - 5080:8080 + - 5081:8081 \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/components/vorgang/vorgang-more-menu.e2e.components.ts b/goofy-client/apps/goofy-e2e/src/components/vorgang/vorgang-more-menu.e2e.components.ts index 3f92e946c4f110d11124534d759f60d5023f53a0..c532679ba633513017d9ae1f6e92150badb725e4 100644 --- a/goofy-client/apps/goofy-e2e/src/components/vorgang/vorgang-more-menu.e2e.components.ts +++ b/goofy-client/apps/goofy-e2e/src/components/vorgang/vorgang-more-menu.e2e.components.ts @@ -64,8 +64,8 @@ export class VorgangMoreMenuExportierenItemE2EComponent { export class VorgangMoreMenuVorpruefenItemE2EComponent { - private readonly root: string = 'tbd'; - private readonly button: string = 'tbd'; + private readonly root: string = 'vorgang-process-vorgang-button'; + private readonly button: string = 'process-vorgang'; public getRoot() { return cy.getTestElementWithOid(this.root); diff --git a/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-vorpruefen.cy.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-vorpruefen.cy.ts index 7fd6b9ebd7d19674de52b730ecd10e1688fbe2ae..a6ae6f03bf938fd24b4e07f413fe20b7154318f2 100644 --- a/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-vorpruefen.cy.ts +++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-vorpruefen.cy.ts @@ -27,13 +27,17 @@ import localeDeExtra from '@angular/common/locales/extra/de'; import { VorgangMoreMenuE2EComponent, VorgangMoreMenuExportierenItemE2EComponent, VorgangMoreMenuVorpruefenItemE2EComponent } from 'apps/goofy-e2e/src/components/vorgang/vorgang-more-menu.e2e.components'; import { VorgangListE2EComponent} from '../../../components/vorgang/vorgang-list.e2e.component'; import { KommentareInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component'; -import { VorgangE2E, VorgangStatusE2E } from 'apps/goofy-e2e/src/model/vorgang'; +import { EingangE2E, EingangHeaderE2E, VorgangE2E, VorgangHeaderE2E, VorgangStatusE2E } from 'apps/goofy-e2e/src/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 { loginAsSabine } from '../../../support/user-util'; -import { buildVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; +import { buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; +import 'cypress-real-events/support' +import chaiColors from 'chai-colors'; +chai.use(chaiColors); + registerLocaleData(localeDe, 'de', localeDeExtra); @@ -45,11 +49,21 @@ describe('Vorgang vorprüfen', () => { const vorgangMoreMenu: VorgangMoreMenuE2EComponent = vorgangPage.getMoreMenu(); const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer(); - const vorgangVorpruefenPositive: VorgangE2E = { ...buildVorgang(objectIds[0], 'ZuPruefenPositive'), status: VorgangStatusE2E.NEU }; - const vorgangVorpruefenNegative: VorgangE2E = { ...buildVorgang(objectIds[1], 'ZuPruefenNegative'), status: VorgangStatusE2E.NEU }; + const vorgangOhnePruefung: VorgangE2E = { ...buildVorgang(objectIds[0], 'NichtZuPruefen'), status: VorgangStatusE2E.NEU}; + + const formIdP: string = 'Erstattung_ERFOLG'; + const formEngineName: string = 'AFM'; + const eingangHeader: EingangHeaderE2E = { ...createVorgang().eingangs[0].header }; + + const eingangP: EingangE2E = { ...createVorgang().eingangs[0], header: { ...eingangHeader, formId: formIdP, formEngineName } } + const vorgangVorpruefenPositive: VorgangE2E = { ...createVorgang(), name: 'ZuPruefenPositive', eingangs: [eingangP] }; + + const formIdN: string = 'Erstattung_FAIL'; + const eingangN: EingangE2E = { ...createVorgang().eingangs[0], header: { ...eingangHeader, formId: formIdN, formEngineName } } + const vorgangVorpruefenNegative: VorgangE2E = { ...buildVorgang(objectIds[1], 'ZuPruefenNegative'), eingangs: [eingangN] }; before(() => { - initVorgaenge([vorgangVorpruefenPositive, vorgangVorpruefenNegative]); + initVorgaenge([vorgangOhnePruefung, vorgangVorpruefenPositive, vorgangVorpruefenNegative]); loginAsSabine(); @@ -78,47 +92,46 @@ describe('Vorgang vorprüfen', () => { it('should open "more menu"', () => { //nur testweise - kommentarContainer.getHinzufuegenButton().click(); - kommentarContainer.getTextInput().clear().type(kommentarText); - kommentarContainer.getFormularSpeichernButton().click(); + //kommentarContainer.getHinzufuegenButton().click(); + //kommentarContainer.getTextInput().clear().type(kommentarText); + //kommentarContainer.getFormularSpeichernButton().click(); waitForSpinnerToDisappear(); // - //vorgangMoreMenu.getButton().click(); + vorgangMoreMenu.getButton().click(); - //exist(vorgangMoreMenu.getRoot()); + exist(vorgangMoreMenu.getRoot()); }) it('should show Prüfung item', () => { - //exist(menuItem.getRoot()); + //exist(menuItem.getRoot());? }) it('should show "Vorgang vorpüfen" button', () => { - //exist(menuItem.getButton()); - }) - - it('should show loading spinner on click', () => { - //menuItem.getButton().click(); - //loading spinner existiert => waitForSpinnerToAppear ist auskommentiert? + exist(menuItem.getButton()); }) it('should have a positive comment after Prüfung', () => { - waitForSpinnerToDisappear(); + menuItem.getButton().click(); + //waitForSpinnerToDisappear(); + exist(kommentarContainer.getKommentar(kommentarText).getRoot()); //check for positive comment }) it('should close menu after Prüfung', () => { - notExist(menuItem.getRoot()); + //am Ende entfernen + vorgangMoreMenu.getButton().click(); + + //notExist(menuItem.getRoot()); + vorgangPage.getSubnavigation().getBackButton().click(); }) - - //farbige Markierung bei Hover? }) describe('...vorpruefen with negative answer from Prozessor', () => { - const menuItem: VorgangMoreMenuExportierenItemE2EComponent = vorgangMoreMenu.getExportierenItem(); + const menuItem: VorgangMoreMenuVorpruefenItemE2EComponent = vorgangMoreMenu.getVorpruefenItem(); const kommentarText = 'Negative text, tbd'; it('Open Vorgang-Detail-Page', () => { @@ -129,25 +142,46 @@ describe('Vorgang vorprüfen', () => { }) it('should have a negative comment after Prüfung', () => { - //vorgangMoreMenu.getButton().click(); + vorgangMoreMenu.getButton().click(); - //menuItem.getButton().click(); + menuItem.getButton().click(); //nur testweise - kommentarContainer.getHinzufuegenButton().click(); - kommentarContainer.getTextInput().clear().type(kommentarText); - kommentarContainer.getFormularSpeichernButton().click(); + //kommentarContainer.getHinzufuegenButton().click(); + //kommentarContainer.getTextInput().clear().type(kommentarText); + //kommentarContainer.getFormularSpeichernButton().click(); waitForSpinnerToDisappear(); // waitForSpinnerToDisappear(); + exist(kommentarContainer.getKommentar(kommentarText).getRoot()); //check for negative comment }) it('should close menu after Prüfung', () => { notExist(menuItem.getRoot()); + + vorgangPage.getSubnavigation().getBackButton().click(); + }) + }) + + describe('button not available on other Vorgänge', () => { + + const menuItem: VorgangMoreMenuVorpruefenItemE2EComponent = vorgangMoreMenu.getVorpruefenItem(); + + it('should open Vorgang-Detail-Page', () => { + vorgangList.getListItem(vorgangOhnePruefung.name).getRoot().click(); + waitForSpinnerToDisappear(); + + exist(vorgangPage.getVorgangDetailHeader().getRoot()); + }) + + it('more menu should not contain Vorprüfen button', () => { + vorgangMoreMenu.getButton().click(); + notExist(menuItem.getRoot()); }) + }) }) diff --git a/goofy-client/apps/goofy-e2e/src/model/vorgang.ts b/goofy-client/apps/goofy-e2e/src/model/vorgang.ts index 7d3732827591e83153065ee1b29bc3ff64403790..370b009a015694090a003f7b59c93aa425f2e332 100644 --- a/goofy-client/apps/goofy-e2e/src/model/vorgang.ts +++ b/goofy-client/apps/goofy-e2e/src/model/vorgang.ts @@ -93,8 +93,12 @@ export class EingangE2E { export class EingangHeaderE2E { requestId: string; createdAt: DateE2E; + formId: string; + formEngineName: string; } + + export class AntragstellerE2E { anrede: string; nachname: string;