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.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts index 0e05ec37f1f87031948e64c2bb20c77f6dd4a39a..b0b363829a8bbc5d1fc404163e0283f38115b4e4 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts @@ -609,7 +609,7 @@ describe('VorgangDetailBescheidenResultComponent', () => { expect(formService.getActiveStep).toHaveBeenCalled(); }); - it.each([1, 3])( + it.each([1, VorgangDetailBescheidenResultComponent.BESCHEID_VERSENDEN_STEP])( 'should call bescheidService to clear attachment upload on step %s', (step: number) => { formService.getActiveStep.mockReturnValue(of(step)); @@ -625,13 +625,16 @@ describe('VorgangDetailBescheidenResultComponent', () => { component.resetSend = jest.fn(); }); - it.each([1, 2])('should be called on step %s', (step: number) => { - formService.getActiveStep.mockReturnValue(of(step)); + it.each([1, VorgangDetailBescheidenResultComponent.ADD_DOCUMENTS_STEP])( + 'should be called on step %s', + (step: number) => { + formService.getActiveStep.mockReturnValue(of(step)); - component.getActiveStep().pipe(first()).subscribe(); + component.getActiveStep().pipe(first()).subscribe(); - expect(component.resetSend).toHaveBeenCalled(); - }); + expect(component.resetSend).toHaveBeenCalled(); + }, + ); it('should not be called on last step', () => { formService.getActiveStep.mockReturnValue(of(3)); 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.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.ts index c2ef9dfe91d9af081d16266243b33504585e5f52..57646306e507f7b46f738da86b9aec74e61ef908 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.ts @@ -28,7 +28,8 @@ type sendBescheid = ( templateUrl: './vorgang-detail-bescheiden-result.component.html', }) export class VorgangDetailBescheidenResultComponent implements OnInit { - private static readonly LAST_STEP: number = 3; + static readonly ADD_DOCUMENTS_STEP: number = 2; + static readonly BESCHEID_VERSENDEN_STEP: number = 3; @Output() closeDialog: EventEmitter<void> = new EventEmitter(); @@ -101,21 +102,22 @@ export class VorgangDetailBescheidenResultComponent implements OnInit { } getActiveStep(): Observable<number> { - return this.formService.getActiveStep().pipe( - tap((step: number) => { - if (this.isNotLast(step)) this.resetSend(); - if (this.shouldClearAttachmentInProgress(step)) - this.bescheidService.clearAttachmentUpload(); - }), - ); + return this.formService + .getActiveStep() + .pipe(tap((step: number) => this.handleStepChange(step))); + } + + private handleStepChange(step: number): void { + if (this.isNotLast(step)) this.resetSend(); + if (this.shouldClearAttachmentInProgress(step)) this.bescheidService.clearAttachmentUpload(); } private isNotLast(step: number): boolean { - return step < VorgangDetailBescheidenResultComponent.LAST_STEP; + return step < VorgangDetailBescheidenResultComponent.BESCHEID_VERSENDEN_STEP; } private shouldClearAttachmentInProgress(step: number): boolean { - return step != 2; + return step != VorgangDetailBescheidenResultComponent.ADD_DOCUMENTS_STEP; } resetSend(): void {