diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts index 71dc21f419656314c564a01cf6f51cd6907b19d9..94a1a9bf3c43d2cee972dda608148c2a32e3e6e2 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts @@ -1,14 +1,5 @@ -import { - BinaryFileListResource, - BinaryFileResource, - BinaryFileService, -} from '@alfa-client/binary-file-shared'; -import { - CommandOrder, - CommandResource, - CommandService, - CreateCommandProps, -} from '@alfa-client/command-shared'; +import {BinaryFileListResource, BinaryFileResource, BinaryFileService,} from '@alfa-client/binary-file-shared'; +import {CommandOrder, CommandResource, CommandService, CreateCommandProps,} from '@alfa-client/command-shared'; import { ApiError, createEmptyStateResource, @@ -18,34 +9,31 @@ import { HttpError, StateResource, } from '@alfa-client/tech-shared'; -import { Mock, mock, useFromMock } from '@alfa-client/test-utils'; +import {Mock, mock, useFromMock} from '@alfa-client/test-utils'; import { VorgangCommandService, VorgangService, VorgangWithEingangLinkRel, VorgangWithEingangResource, } from '@alfa-client/vorgang-shared'; -import { fakeAsync, tick } from '@angular/core/testing'; +import {fakeAsync, tick} from '@angular/core/testing'; import faker from '@faker-js/faker'; -import { getUrl, ResourceUri } from '@ngxp/rest'; -import { cold } from 'jest-marbles'; -import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel'; -import { createApiError } from 'libs/tech-shared/test/error'; -import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; -import { first, Observable, of } from 'rxjs'; -import { - createBinaryFileListResource, - createBinaryFileResource, -} from '../../../binary-file-shared/test/binary-file'; +import {getUrl, ResourceUri} from '@ngxp/rest'; +import {cold} from 'jest-marbles'; +import {CommandLinkRel} from 'libs/command-shared/src/lib/command.linkrel'; +import {createApiError} from 'libs/tech-shared/test/error'; +import {createVorgangWithEingangResource} from 'libs/vorgang-shared/test/vorgang'; +import {first, Observable, of} from 'rxjs'; +import {createBinaryFileListResource, createBinaryFileResource,} from '../../../binary-file-shared/test/binary-file'; import { createCommandErrorResource, createCommandResource, createCommandStateResource, createCreateCommandProps, } from '../../../command-shared/test/command'; -import { ResourceRepository } from '../../../tech-shared/src/lib/resource/resource.repository'; -import { createFile } from '../../../tech-shared/test/file'; -import { singleCold, singleColdCompleted } from '../../../tech-shared/test/marbles'; +import {ResourceRepository} from '../../../tech-shared/src/lib/resource/resource.repository'; +import {createFile} from '../../../tech-shared/test/file'; +import {singleCold, singleColdCompleted} from '../../../tech-shared/test/marbles'; import { createBescheid, createBescheidListResource, @@ -53,9 +41,9 @@ import { createBescheidStateResource, createUploadFileInProgress, } from '../test/bescheid'; -import { createDocumentResource } from '../test/document'; -import { BescheidFacade } from './+state/bescheid.facade'; -import { BescheidLinkRel } from './bescheid.linkrel'; +import {createDocumentResource} from '../test/document'; +import {BescheidFacade} from './+state/bescheid.facade'; +import {BescheidLinkRel} from './bescheid.linkrel'; import { Bescheid, BescheidListResource, @@ -63,9 +51,9 @@ import { BescheidStatus, UploadFileInProgress, } from './bescheid.model'; -import { BescheidService } from './bescheid.service'; -import { DocumentLinkRel } from './document.linkrel'; -import { DocumentResource } from './document.model'; +import {BescheidService} from './bescheid.service'; +import {DocumentLinkRel} from './document.linkrel'; +import {DocumentResource} from './document.model'; import * as DateUtil from '../../../tech-shared/src/lib/date.util'; import * as BescheidUtil from './bescheid.util'; @@ -226,15 +214,15 @@ describe('BescheidService', () => { beforeEach(() => { service.existsBescheidDraft = jest.fn().mockReturnValue(false); - service.vorgangAbschliesen = jest.fn().mockReturnValue(of(commandStateResource)); + service.bescheidenUeberspringen = jest.fn().mockReturnValue(of(commandStateResource)); }); - it('should call vorgang abschliessen', (done) => { + it('should call bescheiden ueberspringen', (done) => { const command$: Observable<StateResource<CommandResource>> = service.bescheidErstellungUeberspringen(vorgangWithEingangResource); command$.subscribe(() => { - expect(service.vorgangAbschliesen).toHaveBeenCalledWith(vorgangWithEingangResource); + expect(service.bescheidenUeberspringen).toHaveBeenCalledWith(vorgangWithEingangResource); done(); }); }); @@ -285,7 +273,7 @@ describe('BescheidService', () => { createCommandStateResource(); beforeEach(() => { - service.vorgangAbschliesen = jest + service.bescheidenUeberspringen = jest .fn() .mockReturnValue(of(vorgangAbschliessenCommandStateResource)); service.deleteBescheid = jest.fn().mockReturnValue(of(createCommandStateResource)); @@ -299,13 +287,13 @@ describe('BescheidService', () => { ); command$.subscribe(() => { - expect(service.vorgangAbschliesen).toHaveBeenCalledWith(vorgangWithEingangResource); + expect(service.bescheidenUeberspringen).toHaveBeenCalledWith(vorgangWithEingangResource); done(); }); }); it('should Bescheid löschen', (done) => { - service.vorgangAbschliesen = jest + service.bescheidenUeberspringen = jest .fn() .mockReturnValue(of(createCommandStateResource([CommandLinkRel.EFFECTED_RESOURCE]))); @@ -322,7 +310,7 @@ describe('BescheidService', () => { }); it('should not Bescheid löschen', (done) => { - service.vorgangAbschliesen = jest.fn().mockReturnValue(of(createCommandStateResource())); + service.bescheidenUeberspringen = jest.fn().mockReturnValue(of(createCommandStateResource())); const command$: Observable<StateResource<CommandResource>> = service.bescheidLoeschenUndErstellungUeberspringen( @@ -369,7 +357,35 @@ describe('BescheidService', () => { it('should return command', () => { const command$: Observable<StateResource<CommandResource>> = - service.bescheidErstellungUeberspringen(vorgangWithEingangResource); + service.vorgangAbschliesen(vorgangWithEingangResource); + + expect(command$).toBeObservable(cold('(a|)', { a: commandStateResource })); + }); + }); + + describe('bescheiden ueberspringen', () => { + const vorgangWithEingangResource: VorgangWithEingangResource = + createVorgangWithEingangResource(); + const commandStateResource: StateResource<CommandResource> = createCommandStateResource(); + + beforeEach(() => { + vorgangCommandService.bescheidenUeberspringen.mockReturnValue(of(commandStateResource)); + }); + + it('should call vorgang command service', (done) => { + const command$: Observable<StateResource<CommandResource>> = service.bescheidenUeberspringen( + vorgangWithEingangResource, + ); + + command$.subscribe(() => { + expect(vorgangCommandService.bescheidenUeberspringen).toHaveBeenCalledWith(vorgangWithEingangResource); + done(); + }); + }); + + it('should return command', () => { + const command$: Observable<StateResource<CommandResource>> = + service.bescheidenUeberspringen(vorgangWithEingangResource); expect(command$).toBeObservable(cold('(a|)', { a: commandStateResource })); }); diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts index 1319d619d0cd50d9aefbf616003409ca3a9ebf3e..196fcb618859aa5d98bd44df93d43383026681b5 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts @@ -1,8 +1,4 @@ -import { - BinaryFileListLinkRel, - BinaryFileResource, - BinaryFileService, -} from '@alfa-client/binary-file-shared'; +import {BinaryFileListLinkRel, BinaryFileResource, BinaryFileService,} from '@alfa-client/binary-file-shared'; import { CommandOrder, CommandResource, @@ -31,28 +27,15 @@ import { VorgangWithEingangLinkRel, VorgangWithEingangResource, } from '@alfa-client/vorgang-shared'; -import { getEmpfaenger } from '@alfa-client/vorgang-shared-ui'; -import { Injectable } from '@angular/core'; -import { getUrl, hasLink, ResourceUri } from '@ngxp/rest'; -import { - BehaviorSubject, - filter, - first, - map, - Observable, - startWith, - Subscription, - switchMap, - tap, -} from 'rxjs'; -import { - ListResourceServiceConfig, - ResourceServiceConfig, -} from '../../../tech-shared/src/lib/resource/resource.model'; -import { ResourceRepository } from '../../../tech-shared/src/lib/resource/resource.repository'; -import { ResourceService } from '../../../tech-shared/src/lib/resource/resource.service'; -import { BescheidFacade } from './+state/bescheid.facade'; -import { BescheidLinkRel, BescheidListLinkRel } from './bescheid.linkrel'; +import {getEmpfaenger} from '@alfa-client/vorgang-shared-ui'; +import {Injectable} from '@angular/core'; +import {getUrl, hasLink, ResourceUri} from '@ngxp/rest'; +import {BehaviorSubject, filter, first, map, Observable, startWith, Subscription, switchMap, tap,} from 'rxjs'; +import {ListResourceServiceConfig, ResourceServiceConfig,} from '../../../tech-shared/src/lib/resource/resource.model'; +import {ResourceRepository} from '../../../tech-shared/src/lib/resource/resource.repository'; +import {ResourceService} from '../../../tech-shared/src/lib/resource/resource.service'; +import {BescheidFacade} from './+state/bescheid.facade'; +import {BescheidLinkRel, BescheidListLinkRel} from './bescheid.linkrel'; import { Bescheid, BescheidListResource, @@ -68,8 +51,8 @@ import { buildSendBescheidCommandProps, buildUpdateBescheidCommandProps, } from './bescheid.util'; -import { DocumentLinkRel } from './document.linkrel'; -import { DocumentResource } from './document.model'; +import {DocumentLinkRel} from './document.linkrel'; +import {DocumentResource} from './document.model'; @Injectable({ providedIn: 'root' }) export class BescheidService { @@ -179,7 +162,7 @@ export class BescheidService { vorgangWithEingangResource: VorgangWithEingangResource, ): Observable<StateResource<CommandResource>> { if (!this.existsBescheidDraft()) { - return this.vorgangAbschliesen(vorgangWithEingangResource); + return this.bescheidenUeberspringen(vorgangWithEingangResource); } return this.getBescheidDraft().pipe( filter(isLoaded), @@ -209,7 +192,7 @@ export class BescheidService { vorgangWithEingangResource: VorgangWithEingangResource, bescheidResource: BescheidResource, ): Observable<StateResource<CommandResource>> { - return this.vorgangAbschliesen(vorgangWithEingangResource).pipe( + return this.bescheidenUeberspringen(vorgangWithEingangResource).pipe( tapOnCommandSuccessfullyDone(() => this.deleteBescheid(bescheidResource)), ); } @@ -220,6 +203,12 @@ export class BescheidService { return this.vorgangCommandService.abschliessen(vorgangWithEingangResource); } + bescheidenUeberspringen( + vorgangWithEingangResource: VorgangWithEingangResource, + ): Observable<StateResource<CommandResource>> { + return this.vorgangCommandService.bescheidenUeberspringen(vorgangWithEingangResource); + } + public updateBescheid(bescheid: Bescheid): Observable<StateResource<CommandResource>> { return this.doUpdateBescheid(this.bescheidDraftService.getResource(), bescheid).pipe( tapOnCommandSuccessfullyDone((commandStateResource: StateResource<CommandResource>) => { 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-steps-content.component.spec.ts 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-steps-content.component.spec.ts index 6559c97674ad9b2fee5258fd64835cff365ff99f..fab22f1754d3123cafdcf6cadac22f2896de6058 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-steps-content.component.spec.ts +++ 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-steps-content.component.spec.ts @@ -1,32 +1,39 @@ -import { BescheidService } from '@alfa-client/bescheid-shared'; +import {BescheidService} from '@alfa-client/bescheid-shared'; +import {createEmptyStateResource, createErrorStateResource, createStateResource,} from '@alfa-client/tech-shared'; +import {getElementFromFixture, Mock, mock} from '@alfa-client/test-utils'; +import {VorgangService, VorgangWithEingangLinkRel} from '@alfa-client/vorgang-shared'; +import {EventEmitter} from '@angular/core'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; +import {createApiError} from 'libs/tech-shared/test/error'; +import {MockComponent} from 'ng-mocks'; +import {EMPTY, of} from 'rxjs'; +import {createCommandResource, createCommandStateResource,} from '../../../../../../../command-shared/test/command'; +import {getDataTestIdOf} from '../../../../../../../tech-shared/test/data-test'; +import {singleCold} from '../../../../../../../tech-shared/test/marbles'; +import {createVorgangWithEingangResource} from '../../../../../../../vorgang-shared/test/vorgang'; +import {BescheidenFormService} from '../../bescheiden.formservice'; import { - createEmptyStateResource, - createErrorStateResource, - createStateResource, -} from '@alfa-client/tech-shared'; -import { Mock, getElementFromFixture, mock } from '@alfa-client/test-utils'; -import { VorgangService, VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared'; -import { EventEmitter } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { createApiError } from 'libs/tech-shared/test/error'; -import { MockComponent } from 'ng-mocks'; -import { EMPTY, of } from 'rxjs'; + VorgangDetailBescheidenStepTitleComponent +} from '../vorgang-detail-bescheiden-step-title/vorgang-detail-bescheiden-step-title.component'; import { - createCommandResource, - createCommandStateResource, -} from '../../../../../../../command-shared/test/command'; -import { getDataTestIdOf } from '../../../../../../../tech-shared/test/data-test'; -import { singleCold } from '../../../../../../../tech-shared/test/marbles'; -import { createVorgangWithEingangResource } from '../../../../../../../vorgang-shared/test/vorgang'; -import { BescheidenFormService } from '../../bescheiden.formservice'; -import { VorgangDetailBescheidenStepTitleComponent } from '../vorgang-detail-bescheiden-step-title/vorgang-detail-bescheiden-step-title.component'; -import { VorgangDetailBescheidenWeiterButtonComponent } from '../vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component'; -import { VorgangDetailBescheidenAntragBescheidenComponent } from './vorgang-detail-bescheiden-antrag-bescheiden/vorgang-detail-bescheiden-antrag-bescheiden.component'; -import { VorgangDetailBescheidenBescheidVersendenComponent } from './vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component'; -import { VorgangDetailBescheidenDokumenteHinzufuegenComponent } from './vorgang-detail-bescheiden-dokumente-hinzufuegen/vorgang-detail-bescheiden-dokumente-hinzufuegen.component'; -import { VorgangDetailBescheidenStepContentComponent } from './vorgang-detail-bescheiden-step-content/vorgang-detail-bescheiden-step-content.component'; -import { VorgangDetailBescheidenStepsContentComponent } from './vorgang-detail-bescheiden-steps-content.component'; -import { VorgangDetailBescheidenUeberspringenButtonComponent } from './vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component'; + VorgangDetailBescheidenWeiterButtonComponent +} from '../vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component'; +import { + VorgangDetailBescheidenAntragBescheidenComponent +} from './vorgang-detail-bescheiden-antrag-bescheiden/vorgang-detail-bescheiden-antrag-bescheiden.component'; +import { + VorgangDetailBescheidenBescheidVersendenComponent +} from './vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component'; +import { + VorgangDetailBescheidenDokumenteHinzufuegenComponent +} from './vorgang-detail-bescheiden-dokumente-hinzufuegen/vorgang-detail-bescheiden-dokumente-hinzufuegen.component'; +import { + VorgangDetailBescheidenStepContentComponent +} from './vorgang-detail-bescheiden-step-content/vorgang-detail-bescheiden-step-content.component'; +import {VorgangDetailBescheidenStepsContentComponent} from './vorgang-detail-bescheiden-steps-content.component'; +import { + VorgangDetailBescheidenUeberspringenButtonComponent +} from './vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component'; describe('VorgangDetailBescheidenStepsContentComponent', () => { let component: VorgangDetailBescheidenStepsContentComponent; @@ -174,7 +181,7 @@ describe('VorgangDetailBescheidenStepsContentComponent', () => { vorgangService.getVorgangWithEingang.mockReturnValue( of( createStateResource( - createVorgangWithEingangResource([VorgangWithEingangLinkRel.ABSCHLIESSEN]), + createVorgangWithEingangResource([VorgangWithEingangLinkRel.BESCHEIDEN]), ), ), ); 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-steps-content.component.ts 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-steps-content.component.ts index a05c072bc6c488d8b4948180c7f7ebefb58de08a..238618bdcaf0f33603e7a4ac11b446a2d39494e8 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-steps-content.component.ts +++ 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-steps-content.component.ts @@ -1,13 +1,9 @@ -import { HttpError, StateResource, hasStateResourceError, isLoaded } from '@alfa-client/tech-shared'; -import { - VorgangService, - VorgangWithEingangLinkRel, - VorgangWithEingangResource, -} from '@alfa-client/vorgang-shared'; -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { Resource, hasLink } from '@ngxp/rest'; -import { BehaviorSubject, Observable, combineLatest, filter, first, map } from 'rxjs'; -import { BescheidenFormService } from '../../bescheiden.formservice'; +import {hasStateResourceError, HttpError, isLoaded, StateResource} from '@alfa-client/tech-shared'; +import {VorgangService, VorgangWithEingangLinkRel, VorgangWithEingangResource,} from '@alfa-client/vorgang-shared'; +import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import {hasLink, Resource} from '@ngxp/rest'; +import {BehaviorSubject, combineLatest, filter, first, map, Observable} from 'rxjs'; +import {BescheidenFormService} from '../../bescheiden.formservice'; @Component({ selector: 'alfa-vorgang-detail-bescheiden-steps-content', @@ -34,7 +30,7 @@ export class VorgangDetailBescheidenStepsContentComponent implements OnInit { this.vorgangService.getVorgangWithEingang().pipe( filter(isLoaded), map((stateResource: StateResource<VorgangWithEingangResource>) => - hasLink(stateResource.resource, VorgangWithEingangLinkRel.ABSCHLIESSEN), + hasLink(stateResource.resource, VorgangWithEingangLinkRel.BESCHEIDEN), ), ), this.activeStep$.pipe(map((step) => step === 1)), diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.spec.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.spec.ts index 804bbd2a21e335039b52d8383547bc71d9ab4a8d..74b14e5bcc9ab95b136a4056811577ead3de303b 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.spec.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.spec.ts @@ -21,18 +21,18 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { CommandOrder, CommandResource } from '@alfa-client/command-shared'; -import { StateResource, createStateResource } from '@alfa-client/tech-shared'; -import { Mock, mock, useFromMock } from '@alfa-client/test-utils'; -import { cold } from 'jest-marbles'; -import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel'; -import { createCommandResource, createCreateCommand } from 'libs/command-shared/test/command'; -import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; -import { Observable, of } from 'rxjs'; -import { VorgangFacade } from './+state/vorgang.facade'; -import { VorgangCommandService } from './vorgang-command.service'; -import { VorgangWithEingangResource } from './vorgang.model'; -import { VorgangService } from './vorgang.service'; +import {CommandOrder, CommandResource} from '@alfa-client/command-shared'; +import {createStateResource, StateResource} from '@alfa-client/tech-shared'; +import {Mock, mock, useFromMock} from '@alfa-client/test-utils'; +import {cold} from 'jest-marbles'; +import {CommandLinkRel} from 'libs/command-shared/src/lib/command.linkrel'; +import {createCommandResource, createCreateCommand} from 'libs/command-shared/test/command'; +import {createVorgangWithEingangResource} from 'libs/vorgang-shared/test/vorgang'; +import {Observable, of} from 'rxjs'; +import {VorgangFacade} from './+state/vorgang.facade'; +import {VorgangCommandService} from './vorgang-command.service'; +import {VorgangWithEingangResource} from './vorgang.model'; +import {VorgangService} from './vorgang.service'; describe('VorgangCommandService', () => { let service: VorgangCommandService; @@ -129,6 +129,41 @@ describe('VorgangCommandService', () => { }); }); + describe('bescheiden ueberspringen', () => { + const commandStateResource: StateResource<CommandResource> = + createStateResource(createCommandResource()); + const commandStateResource$: Observable<StateResource<CommandResource>> = + of(commandStateResource); + + beforeEach(() => { + service.getAbschliessenCommand = jest.fn().mockReturnValue(commandStateResource$); + }); + + it('should call facade', () => { + service.bescheidenUeberspringen(vorgangWithEingang); + + expect(facade.bescheiden).toHaveBeenCalledWith( + vorgangWithEingang, + createCreateCommand(CommandOrder.VORGANG_ABSCHLIESSEN), + ); + }); + + it('should call service do reload after', () => { + service.doReloadAfter = jest.fn(); + + service.bescheidenUeberspringen(vorgangWithEingang); + + expect(service.doReloadAfter).toHaveBeenCalledWith(commandStateResource$); + }); + + it('should return value', () => { + const abschliessen: Observable<StateResource<CommandResource>> = + service.bescheidenUeberspringen(vorgangWithEingang); + + expect(abschliessen).toBeObservable(cold('(a|)', { a: commandStateResource })); + }); + }); + describe('getVerwerfenCommand', () => { it('should call facade', () => { service.getVerwerfenCommand(); diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.ts index 5adaa4f349dcc43751625db1aee37d627d7703a5..9c9b08fce6f3878c0d697fc0a410a9bd28adc8bd 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang-command.service.ts @@ -21,17 +21,13 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { - CommandOrder, - CommandResource, - tapOnCommandSuccessfullyDone, -} from '@alfa-client/command-shared'; -import { StateResource, isNotNil } from '@alfa-client/tech-shared'; -import { Injectable } from '@angular/core'; -import { Observable, filter } from 'rxjs'; -import { VorgangFacade } from './+state/vorgang.facade'; -import { VorgangWithEingangResource } from './vorgang.model'; -import { VorgangService } from './vorgang.service'; +import {CommandOrder, CommandResource, tapOnCommandSuccessfullyDone,} from '@alfa-client/command-shared'; +import {isNotNil, StateResource} from '@alfa-client/tech-shared'; +import {Injectable} from '@angular/core'; +import {filter, Observable} from 'rxjs'; +import {VorgangFacade} from './+state/vorgang.facade'; +import {VorgangWithEingangResource} from './vorgang.model'; +import {VorgangService} from './vorgang.service'; import { createAbschliessenCommand, createAnnehmenCommand, @@ -77,6 +73,13 @@ export class VorgangCommandService { return this.doReloadAfter(this.getBeschiedenCommand()); } + public bescheidenUeberspringen( + vorgang: VorgangWithEingangResource, + ): Observable<StateResource<CommandResource>> { + this.facade.bescheiden(vorgang, createAbschliessenCommand()); + return this.doReloadAfter(this.getAbschliessenCommand()); + } + public getVerwerfenCommand(): Observable<StateResource<CommandResource>> { return this.facade.getStatusCommand(CommandOrder.VORGANG_VERWERFEN); } diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/Vorgang.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/Vorgang.java index 4168fcf828056858862d0e1a0dae1c92e499aefa..2474a7366f3866272e0bf19fd5ce1273f00cad62 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/Vorgang.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/Vorgang.java @@ -46,7 +46,7 @@ public interface Vorgang { NEU.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(ANGENOMMEN, VERWORFEN)); VERWORFEN.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(NEU)); ANGENOMMEN.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(IN_BEARBEITUNG)); - IN_BEARBEITUNG.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(BESCHIEDEN, ANGENOMMEN, ABGESCHLOSSEN)); + IN_BEARBEITUNG.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(BESCHIEDEN, ANGENOMMEN)); BESCHIEDEN.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(ABGESCHLOSSEN, IN_BEARBEITUNG)); ABGESCHLOSSEN.allowedFollowStatusByRole.put(UserRole.VERWALTUNG_USER, Set.of(IN_BEARBEITUNG)); } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangCommandProcessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangCommandProcessorTest.java index 1634c996844cf484572f9e23e5c7398c499f4cf3..786ab93c0753a76c83bec1bcd14a0ab66c7573cc 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangCommandProcessorTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangCommandProcessorTest.java @@ -243,7 +243,7 @@ class VorgangCommandProcessorTest { } @ParameterizedTest - @EnumSource(mode = Mode.INCLUDE, names = { "IN_BEARBEITUNG", "BESCHIEDEN" }) + @EnumSource(mode = Mode.INCLUDE, names = { "BESCHIEDEN" }) void shouldBePresent(VorgangStatus status) { var processed = processor.process(buildVorgangInStatus(status)); @@ -253,7 +253,7 @@ class VorgangCommandProcessorTest { } @ParameterizedTest - @EnumSource(mode = Mode.EXCLUDE, names = { "IN_BEARBEITUNG", "BESCHIEDEN" }) + @EnumSource(mode = Mode.EXCLUDE, names = { "BESCHIEDEN" }) void shouldNOTbePresentbyStatus(VorgangStatus status) { var processed = processor.process(buildVorgangInStatus(status));