Skip to content
Snippets Groups Projects
Verified Commit aeaf25c9 authored by Sebastian Bergandy's avatar Sebastian Bergandy :keyboard:
Browse files

OZG-6185 fix versenden step

parent 236971c2
Branches
Tags
1 merge request!68OZG-6185 fix versenden step
......@@ -415,41 +415,41 @@ describe('BescheidFormService', () => {
});
describe('patchValues', () => {
const sendBy: BescheidSendBy = BescheidSendBy.NACHRICHT;
let bescheidResource: BescheidResource;
let patch: jest.Mock;
beforeEach(() => {
bescheidResource = createBescheidResource();
patch = service.patch = jest.fn();
service._evaluateSendBy = jest.fn().mockReturnValue(sendBy);
});
it('should patch', () => {
const sendBy: BescheidSendBy = BescheidSendBy.NACHRICHT;
service.patchValues(bescheidResource);
expect(patch).toHaveBeenCalledWith({
[BescheidFormService.FIELD_BESCHIEDEN_AM]: bescheidResource.beschiedenAm,
[BescheidFormService.FIELD_BEWILLIGT]: String(bescheidResource.bewilligt),
[BescheidFormService.FIELD_BESCHEID_DOCUMENT]: null,
[BescheidFormService.FIELD_SEND_BY]: String(bescheidResource.sendBy),
[BescheidFormService.FIELD_SEND_BY]: String(sendBy),
[BescheidFormService.FIELD_NACHRICHT_SUBJECT]: bescheidResource.nachrichtSubject,
[BescheidFormService.FIELD_NACHRICHT_TEXT]: bescheidResource.nachrichtText,
});
});
it('should patch sendBy to default', () => {
service.patchValues({
...bescheidResource,
sendBy: undefined,
});
it('should set send by', () => {
const sendBy: BescheidSendBy = BescheidSendBy.NACHRICHT;
service.patchValues(bescheidResource);
expect(patch).toHaveBeenCalledWith({
[BescheidFormService.FIELD_BESCHIEDEN_AM]: bescheidResource.beschiedenAm,
[BescheidFormService.FIELD_BEWILLIGT]: String(bescheidResource.bewilligt),
[BescheidFormService.FIELD_SEND_BY]: BescheidSendBy.NACHRICHT,
[BescheidFormService.FIELD_BESCHEID_DOCUMENT]: null,
[BescheidFormService.FIELD_NACHRICHT_SUBJECT]: bescheidResource.nachrichtSubject,
[BescheidFormService.FIELD_NACHRICHT_TEXT]: bescheidResource.nachrichtText,
expect(bescheidService.setSendBy).toHaveBeenCalledWith(sendBy);
});
it('should evaluate send by', () => {
service.patchValues(bescheidResource);
expect(service._evaluateSendBy).toHaveBeenCalledWith(bescheidResource);
});
it('should patch bescheid document uri', () => {
......@@ -465,7 +465,7 @@ describe('BescheidFormService', () => {
expect(patch).toHaveBeenCalledWith({
[BescheidFormService.FIELD_BESCHIEDEN_AM]: bescheidResource.beschiedenAm,
[BescheidFormService.FIELD_BEWILLIGT]: String(bescheidResource.bewilligt),
[BescheidFormService.FIELD_SEND_BY]: BescheidSendBy.NACHRICHT,
[BescheidFormService.FIELD_SEND_BY]: sendBy,
[BescheidFormService.FIELD_BESCHEID_DOCUMENT]: bescheidDocumentUri,
[BescheidFormService.FIELD_NACHRICHT_SUBJECT]: bescheidResource.nachrichtSubject,
[BescheidFormService.FIELD_NACHRICHT_TEXT]: bescheidResource.nachrichtText,
......@@ -479,6 +479,44 @@ describe('BescheidFormService', () => {
});
});
describe('_evaluateSendBy', () => {
it('should return MANUAL on MANUAL', () => {
const sendBy: BescheidSendBy = service._evaluateSendBy({
...createBescheidResource([BescheidLinkRel.BESCHEIDEN]),
sendBy: BescheidSendBy.MANUAL,
});
expect(sendBy).toEqual(BescheidSendBy.MANUAL);
});
it('should return MANUAL on NACHRICHT and missing link', () => {
const sendBy: BescheidSendBy = service._evaluateSendBy({
...createBescheidResource([BescheidLinkRel.BESCHEIDEN]),
sendBy: BescheidSendBy.NACHRICHT,
});
expect(sendBy).toEqual(BescheidSendBy.MANUAL);
});
it('should return NACHRICHT', () => {
const sendBy: BescheidSendBy = service._evaluateSendBy({
...createBescheidResource([BescheidLinkRel.BESCHEIDEN_UND_SENDEN]),
sendBy: BescheidSendBy.NACHRICHT,
});
expect(sendBy).toEqual(BescheidSendBy.NACHRICHT);
});
it('should return MANUAL', () => {
const sendBy: BescheidSendBy = service._evaluateSendBy({
...createBescheidResource([BescheidLinkRel.BESCHEIDEN_UND_SENDEN]),
sendBy: BescheidSendBy.MANUAL,
});
expect(sendBy).toEqual(BescheidSendBy.MANUAL);
});
});
describe('getBescheidFormValueChanges', () => {
const bescheid: Bescheid = createBescheid();
......
......@@ -21,21 +21,14 @@
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
import {
Bescheid,
BescheidLinkRel,
BescheidResource,
BescheidSendBy,
BescheidWizardStep,
Wizard,
} from '@alfa-client/bescheid-shared';
import { Bescheid, BescheidLinkRel, BescheidResource, BescheidSendBy, BescheidWizardStep, Wizard, } from '@alfa-client/bescheid-shared';
import { CommandResource, switchMapCommandSuccessfullyDone } from '@alfa-client/command-shared';
import { AbstractFormService, convertToBoolean, formatForDatabase, isNotNil, StateResource } from '@alfa-client/tech-shared';
import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
import { Injectable } from '@angular/core';
import { FormControl, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { getUrl, hasLink, ResourceUri } from '@ngxp/rest';
import { isNil, isUndefined } from 'lodash-es';
import { isNil } from 'lodash-es';
import { first, Observable, startWith, switchMap } from 'rxjs';
import { BescheidService2 } from '../../../../bescheid-shared/src/lib/bescheid2.service';
......@@ -118,12 +111,13 @@ export class BescheidFormService extends AbstractFormService<CommandResource> {
public patchValues(bescheidResource: BescheidResource): void {
this.bescheidResource = bescheidResource;
const bescheidDocumentUri: ResourceUri = this.getBescheidDocumentUri(bescheidResource);
const sendBy: BescheidSendBy = this._evaluateSendBy(bescheidResource);
this.bescheidService.setSendBy(sendBy);
this.patch({
[BescheidFormService.FIELD_BESCHIEDEN_AM]: bescheidResource.beschiedenAm,
[BescheidFormService.FIELD_BEWILLIGT]: String(bescheidResource.bewilligt),
[BescheidFormService.FIELD_BESCHEID_DOCUMENT]: bescheidDocumentUri,
[BescheidFormService.FIELD_SEND_BY]:
isUndefined(bescheidResource.sendBy) ? BescheidSendBy.NACHRICHT : bescheidResource.sendBy,
[BescheidFormService.FIELD_SEND_BY]: sendBy,
[BescheidFormService.FIELD_NACHRICHT_SUBJECT]: bescheidResource.nachrichtSubject,
[BescheidFormService.FIELD_NACHRICHT_TEXT]: bescheidResource.nachrichtText,
});
......@@ -142,6 +136,16 @@ export class BescheidFormService extends AbstractFormService<CommandResource> {
return null;
}
_evaluateSendBy(bescheidResource: BescheidResource): BescheidSendBy {
if (
bescheidResource.sendBy === BescheidSendBy.NACHRICHT &&
hasLink(bescheidResource, BescheidLinkRel.BESCHEIDEN_UND_SENDEN)
) {
return BescheidSendBy.NACHRICHT;
}
return BescheidSendBy.MANUAL;
}
public getBescheidFormValueChanges(): Observable<Bescheid> {
return this.form.valueChanges.pipe(startWith(this.getBescheidFormValue()));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment