diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-bescheid-wizard.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-bescheid-wizard.e2e.component.ts index 7f98c1f4d53a45670495bcef72fb05647a025e30..c5a5333dfb746e774089d38f7759a8f40e19e5c0 100644 --- a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-bescheid-wizard.e2e.component.ts +++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-bescheid-wizard.e2e.component.ts @@ -39,12 +39,15 @@ export class VorgangBescheidWizardE2EComponent { private readonly stepButton3: string = 'step-3-button'; private readonly closeButton: string = 'close-bescheid'; private readonly closeDialog: string = 'bescheid-close-dialog'; + private readonly bescheidResultBox: string = 'bescheiden-result'; private readonly bescheidVerwerfenButton: string = 'bescheiderstellung-abbrechen-entwurf-verwerfen'; private readonly bescheidSpeichernButton: string = 'bescheiderstellung-abbrechen-entwurf-speichern'; private readonly uploadBescheidFile: string = '-single-file-upload-button'; private readonly uploadAttachment: string = 'Attachment_hochladen-file-upload-button'; + private readonly saveBescheid: string = 'save-button'; + private readonly confirmAndSaveButton: string = 'confirm-and-save-button'; private readonly fileBescheidValid: string = 'Bescheid_validpdf-file-item'; private readonly fileAnhangValid: string = 'Anhang_validpdf-file-item'; @@ -171,4 +174,16 @@ export class VorgangBescheidWizardE2EComponent { public getAttachmentUploadSpinner() { return cy.get(this.attachmentUploadSpinner); } + + public getSaveButton() { + return cy.getTestElement(this.saveBescheid); + } + + public getResultBox() { + return cy.getTestElement(this.bescheidResultBox); + } + + public getConfirmAndSaveButton() { + return cy.getTestElement(this.confirmAndSaveButton); + } } diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts new file mode 100644 index 0000000000000000000000000000000000000000..f2ec81bd978db6546305b15d971815000b7fb811 --- /dev/null +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts @@ -0,0 +1,94 @@ +import { registerLocaleData } from '@angular/common'; +import localeDe from '@angular/common/locales/de'; +import localeDeExtra from '@angular/common/locales/extra/de'; +import { VorgangBescheidWizardE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-bescheid-wizard.e2e.component'; +import { VorgangFormularButtonsE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-formular-buttons.e2e.components'; +import { + VorgangE2E, + VorgangStatusE2E, + vorgangStatusLabelE2E, +} from 'apps/alfa-e2e/src/model/vorgang'; +import { uploadFile } from 'apps/alfa-e2e/src/support/file-upload'; +import { getAdjustedDateGerman } from 'apps/alfa-e2e/src/support/tech.util'; +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 { contains, enterWith, exist, haveText, notExist } from '../../../support/cypress.util'; +import { + TEST_FILE_BESCHEID_ANHANG_VALID, + TEST_FILE_BESCHEID_VALID, +} from '../../../support/data.util'; +import { initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; +import { buildVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; + +registerLocaleData(localeDe, 'de', localeDeExtra); + +describe('Bescheid Wizard', () => { + const mainPage: MainPage = new MainPage(); + const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); + + const abgelehntText: string = 'Abgelehnt am'; + const manuellText: string = 'Bescheid muss manuell'; + + const vorgangPage: VorgangPage = new VorgangPage(); + const bescheidWizard: VorgangBescheidWizardE2EComponent = vorgangPage.getBescheidWizard(); + + const bescheidVorgang: VorgangE2E = { + ...buildVorgang(objectIds[0], 'Wizard Vorgang'), + status: VorgangStatusE2E.IN_BEARBEITUNG, + }; + + const vorgangFormularButtons: VorgangFormularButtonsE2EComponent = + vorgangPage.getFormularButtons(); + + before(() => { + initVorgaenge([bescheidVorgang]); + initUsermanagerUsers(); + + loginAsSabine(); + + waitForSpinnerToDisappear(); + exist(vorgangList.getRoot()); + }); + + after(() => { + dropCollections(); + }); + + describe('Only save Bescheid', () => { + it('should update Bescheid info after click on Nur Speichern', () => { + vorgangList.getListItem(bescheidVorgang.name).getRoot().click(); + waitForSpinnerToDisappear(); + + vorgangFormularButtons.getBescheidenButton().click(); + bescheidWizard.getAbgelehntButton().click(); + enterWith(bescheidWizard.getDateInput(), getAdjustedDateGerman(-1)); + bescheidWizard.getWeiterButton().click(); + uploadFile(bescheidWizard.getUploadBescheidButton(), TEST_FILE_BESCHEID_VALID); + notExist(bescheidWizard.getBescheidUploadSpinner()); + uploadFile(bescheidWizard.getUploadAttachmentButton(), TEST_FILE_BESCHEID_ANHANG_VALID); + notExist(bescheidWizard.getAttachmentUploadSpinner()); + bescheidWizard.getWeiterButton().click(); + bescheidWizard.getSaveButton().click(); + + contains(bescheidWizard.getStatusText(), abgelehntText + ' ' + getAdjustedDateGerman(-1)); + exist(bescheidWizard.getFileAnhangValid()); + exist(bescheidWizard.getFileBescheidValid()); + contains(bescheidWizard.getResultBox(), manuellText); + exist(bescheidWizard.getConfirmAndSaveButton()); + }); + + it('should update Vorgang status after saving', () => { + bescheidWizard.getConfirmAndSaveButton().click(); + notExist(bescheidWizard.getRoot()); + + waitForSpinnerToDisappear(); + haveText( + vorgangPage.getVorgangDetailHeader().getStatus(), + vorgangStatusLabelE2E[VorgangStatusE2E.BESCHIEDEN], + ); + }); + }); +}); diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.html index dc83681b070c4e0ef4736781c98c313f3af6282e..158859aef477901045106b1b0e6d60fe2cdab6e2 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.html +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.html @@ -81,7 +81,7 @@ <ods-button-with-spinner class="self-end" *ngIf="canSave$ | async" - data-test-id="save-and-send-button" + data-test-id="confirm-and-save-button" [stateResource]="saveAndSendInProgress$ | async" text="Antrag bescheiden und speichern" (clickEmitter)="saveAndSendManually(bescheidDraftStateResource.resource)" diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.html index 5eb688798894ad5a946c45b846c4bc92e80555a1..7be924cf6783364fe960a699a18ad474646adb36 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.html +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.html @@ -21,7 +21,7 @@ [name]="formServiceClass.FIELD_SEND_BY" variant="bescheid_save" [fullWidthText]="true" - data-test-id="save-and-send-button" + data-test-id="save-button" ><ods-save-icon></ods-save-icon ></ods-radio-button-card> </ng-container>