diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-aktenzeichen-anlegen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-aktenzeichen-anlegen.cy.ts new file mode 100644 index 0000000000000000000000000000000000000000..e064c0d1c403e50f6935f574ed3f6a921d1b8943 --- /dev/null +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-aktenzeichen-anlegen.cy.ts @@ -0,0 +1,238 @@ +/* + * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +import { registerLocaleData } from '@angular/common'; +import localeDe from '@angular/common/locales/de'; +import localeDeExtra from '@angular/common/locales/extra/de'; +import { VorgangFormularButtonsE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-formular-buttons.e2e.components'; +import { VorgangMoreMenuE2EComponent, VorgangMoreMenuVorpruefenItemE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-more-menu.e2e.components'; +import { EingangE2E, EingangHeaderE2E, VorgangE2E, VorgangStatusE2E } from 'apps/alfa-e2e/src/model/vorgang'; +import 'cypress-real-events/support'; +import { KommentareInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component'; +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 { loginAsSabine } from '../../../support/user-util'; +import { buildVorgang, createVorgang, initVorgaenge, initVorgang, objectIds } from '../../../support/vorgang-util'; + +registerLocaleData(localeDe, 'de', localeDeExtra); + +describe('Aktenzeichen anlegen', () => { + const mainPage: MainPage = new MainPage(); + const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); + + const vorgangPage: VorgangPage = new VorgangPage(); + //const vorgangMoreMenu: VorgangMoreMenuE2EComponent = vorgangPage.getMoreMenu(); + //const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer(); + + const aktenzeichenVorgang: VorgangE2E = { ...buildVorgang(objectIds[0], 'Aktenzeichn Vorgang'), status: VorgangStatusE2E.NEU}; + const vorgangFormularButtons: VorgangFormularButtonsE2EComponent = vorgangPage.getFormularButtons(); + + 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([vorgangOhnePruefung, vorgangVorpruefenPositive, vorgangVorpruefenNegative]); + initVorgang(aktenzeichenVorgang); + + loginAsSabine(); + + waitForSpinnerToDisappear(); + exist(vorgangList.getRoot()); + }) + + after(() => { + dropCollections(); + }) + + describe('check display by Vorgang status', () => { + + //const menuItem: VorgangMoreMenuVorpruefenItemE2EComponent = vorgangMoreMenu.getVorpruefenItem(); + + //const aktenzeichenIcon: + + it('should not show icon on status Neu', () => { + vorgangList.getListItem(aktenzeichenVorgang.name).getRoot().click(); + waitForSpinnerToDisappear(); + + //notExist(aktenzeichenIcon); + }) + + it('should display icon on status Angenommen', () => { + + //nur testweise + //kommentarContainer.getHinzufuegenButton().click(); + //kommentarContainer.getTextInput().clear().type(kommentarText); + //kommentarContainer.getFormularSpeichernButton().click(); + waitForSpinnerToDisappear(); + // + + }) + + it('should show icon on status In Bearbeitung', () => { + //exist(menuItem.getRoot());? + }) + + it('should not show icon on all following status', () => { + //exist(menuItem.getButton()); + }) + }) + + describe('check functionality of Aktenzeichen editing mask', () => { + + + it('should display editing mask on clicking Aktenzeichen icon', () => { + //menuItem.getButton().click(); + //waitForSpinnerToDisappear(); + + //exist(kommentarContainer.getKommentar(kommentarText).getRoot()); + //check for positive comment + }) + + it('should paste contents of clipboard', () => { + //am Ende entfernen + //vorgangMoreMenu.getButton().click(); + + //notExist(menuItem.getRoot()); + + vorgangPage.getSubnavigation().getBackButton().click(); + }) + + it('should not use new content on cancel', () => { + + }) + + it('should not use only blank spaces as Aktenzeichen', () => { + + }) + + it('should adopt new valid Aktenzeichen on clicking OK', () => { + + }) + + it('should trim blank spaces at start and end of Aktenzeichen', () => { + + }) + + it('should remove entry on clicking X button', () => { + + }) + + it('should pre-set existing Aktenzeichen on opening mask', () => { + + }) + + it('should display error on Aktenzeichen >256 characters', () => { + + }) + }) + + describe('check Aktenzeichen entries in Historie', () => { + + it('should display history entry on setting new Aktenzeichen', () => { + + }) + + it('should show Aktenzeichen on opening dropdown', () => { + + }) + + it('should show change of existing Aktenzeichen', () => { + + }) + + it('should show deletion of Aktenzeichen', () => { + + }) + + }) + + + describe('...vorpruefen with negative answer from Prozessor', () => { + + const menuItem: VorgangMoreMenuVorpruefenItemE2EComponent = vorgangMoreMenu.getVorpruefenItem(); + const kommentarText = 'Negative text, tbd'; + + it('Open Vorgang-Detail-Page', () => { + vorgangList.getListItem(vorgangVorpruefenNegative.name).getRoot().click(); + waitForSpinnerToDisappear(); + + exist(vorgangPage.getVorgangDetailHeader().getRoot()); + }) + + it('should have a negative comment after Prüfung', () => { + vorgangMoreMenu.getButton().click(); + + menuItem.getButton().click(); + + //nur testweise + //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/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..1d53587185233e7fb873cd4a72e76b6bab291f1b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "goofy", + "lockfileVersion": 2, + "requires": true, + "packages": {} +}