diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts index 1dd2e6701baba2c50028dbfdfa9c215359e7ef06..2a96a3b53a7329a7ef6536c2e184cf5d1be096a9 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts @@ -21,19 +21,25 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { HasLinkPipe, createStateResource } from '@alfa-client/tech-shared'; +import { CommandResource } from '@alfa-client/command-shared'; +import { + HasLinkPipe, + StateResource, + createEmptyStateResource, + createStateResource, +} from '@alfa-client/tech-shared'; import { mock } from '@alfa-client/test-utils'; import { IconButtonWithSpinnerComponent, OzgcloudStrokedButtonWithSpinnerComponent, } from '@alfa-client/ui'; import { VorgangCommandService, VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; import { createCommandResource } from 'libs/command-shared/test/command'; import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { MockComponent } from 'ng-mocks'; -import { of } from 'rxjs'; +import { Observable, of } from 'rxjs'; import { AbschliessenButtonComponent } from './abschliessen-button.component'; describe('AbschliessenButtonComponent', () => { @@ -84,11 +90,28 @@ describe('AbschliessenButtonComponent', () => { }); describe('abschliessen', () => { + const command: CommandResource = createCommandResource(); + const comandStateResource$: Observable<StateResource<CommandResource>> = of( + createStateResource(command), + ); + + beforeEach(() => { + vorgangCommandService.abschliessen.mockReturnValue(comandStateResource$); + }); + it('should call vorgang service', () => { component.abschliessen(); expect(vorgangCommandService.abschliessen).toHaveBeenCalled(); }); + + it('should assign response', () => { + component.commandStateResource$ = of(createEmptyStateResource<CommandResource>()); + + component.abschliessen(); + + expect(component.commandStateResource$).toBe(comandStateResource$); + }); }); describe('abschliessen button', () => { diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts index f4dafed5cdc6da7afcec0f200722405e281d1e17..15df48ad2b497eed92ec4dfd36278e18fd3e506f 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts @@ -21,7 +21,6 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { Component, Input, OnInit } from '@angular/core'; import { CommandResource } from '@alfa-client/command-shared'; import { StateResource, createEmptyStateResource } from '@alfa-client/tech-shared'; import { @@ -29,6 +28,7 @@ import { VorgangWithEingangLinkRel, VorgangWithEingangResource, } from '@alfa-client/vorgang-shared'; +import { Component, Input, OnInit } from '@angular/core'; import { Observable, of } from 'rxjs'; @Component({ @@ -53,6 +53,6 @@ export class AbschliessenButtonComponent implements OnInit { } public abschliessen(): void { - this.vorgangCommandService.abschliessen(this.vorgang); + this.commandStateResource$ = this.vorgangCommandService.abschliessen(this.vorgang); } } diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts index 0f2ccfe5b42b0c78b073e968ebd9a0821d26828b..d6251e13d63c817db05ef4b8a744e5d100d88b82 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts @@ -22,6 +22,7 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import { BescheidResource, BescheidService } from '@alfa-client/bescheid-shared'; +import { CommandResource } from '@alfa-client/command-shared'; import { HasLinkPipe, StateResource, @@ -41,10 +42,11 @@ import { } from '@alfa-client/vorgang-shared'; import { DialogRef } from '@angular/cdk/dialog'; import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { createCommandResource } from 'libs/command-shared/test/command'; import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { MockComponent } from 'ng-mocks'; -import { of } from 'rxjs'; +import { Observable, of } from 'rxjs'; import { createBescheidResource } from '../../../../../bescheid-shared/src/test/bescheid'; import { BescheidenDialogData } from '../../vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.model'; import { VorgangDetailBescheidenComponent } from '../../vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component'; @@ -171,32 +173,50 @@ describe('BescheidenButtonComponent', () => { }); describe('onClick', () => { - it('should open bescheid wizard when create bescheid draft link exists', () => { - component.openBescheidenWizard = jest.fn(); - component.vorgang = createVorgangWithEingangResource([ - VorgangWithEingangLinkRel.CREATE_BESCHEID_DRAFT, - ]); + describe('should open bescheid wizard', () => { + beforeEach(() => { + component.openBescheidenWizard = jest.fn(); + component.vorgang = createVorgangWithEingangResource([ + VorgangWithEingangLinkRel.CREATE_BESCHEID_DRAFT, + ]); + }); - component.onClick(); + it('should open bescheid wizard when create bescheid draft link exists', () => { + component.onClick(); + + expect(component.openBescheidenWizard).toHaveBeenCalled(); + }); - expect(component.openBescheidenWizard).toHaveBeenCalled(); + it('should open bescheid wizard when bescheid draft exists', () => { + component.onClick(); + + expect(component.openBescheidenWizard).toHaveBeenCalled(); + }); }); - it('should open bescheid wizard when bescheid draft exists', () => { - component.openBescheidenWizard = jest.fn(); - component.vorgang = createVorgangWithEingangResource([ - VorgangWithEingangLinkRel.BESCHEID_DRAFT, - ]); + describe('should do bescheiden', () => { + const command: CommandResource = createCommandResource(); + const comandStateResource$: Observable<StateResource<CommandResource>> = of( + createStateResource(command), + ); - component.onClick(); + beforeEach(() => { + vorgangCommandService.bescheiden.mockReturnValue(comandStateResource$); + }); - expect(component.openBescheidenWizard).toHaveBeenCalled(); - }); + it('should call vorgangCommandService.bescheiden', () => { + component.onClick(); - it('should call vorgangCommandService.bescheiden', () => { - component.onClick(); + expect(vorgangCommandService.bescheiden).toHaveBeenCalled(); + }); + + it('should assign response', () => { + component.commandStateResource$ = of(createEmptyStateResource<CommandResource>()); - expect(vorgangCommandService.bescheiden).toHaveBeenCalled(); + component.onClick(); + + expect(component.commandStateResource$).toBe(comandStateResource$); + }); }); }); diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts index 57fb4b05366bdd752b98c8b3cfc20f8a372f1bae..d76a5cf53225299d7f63695281c06c13bba00cc0 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts @@ -76,7 +76,7 @@ export class BescheidenButtonComponent implements OnInit { if (this.shouldOpenBescheidenWizard()) { this.openBescheidenWizard(); } else { - this.vorgangCommandService.bescheiden(this.vorgang); + this.commandStateResource$ = this.vorgangCommandService.bescheiden(this.vorgang); } }