diff --git a/goofy-client/libs/command-shared/src/lib/+state/command.facade.spec.ts b/goofy-client/libs/command-shared/src/lib/+state/command.facade.spec.ts deleted file mode 100644 index 77da1eec1e8dd18ff7b98683735f3fd26bd30aef..0000000000000000000000000000000000000000 --- a/goofy-client/libs/command-shared/src/lib/+state/command.facade.spec.ts +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -import { Mock, mock, useFromMock } from '@goofy-client/test-utils'; -import { Store } from '@ngrx/store'; -import { Subject } from 'rxjs'; -import { CommandFacade } from './command.facade'; - -import * as CommandActions from './command.actions'; - -describe('CommandFacade', () => { - let facade: CommandFacade; - let store: Mock<Store>; - - let selectionSubject: Subject<any>; - - beforeEach(() => { - store = mock(Store); - - selectionSubject = new Subject(); - - store.select.mockReturnValue(selectionSubject); - store.dispatch = jest.fn(); - - facade = new CommandFacade(useFromMock(<any>store)); - }) - - it('is initialized', () => { - expect(facade).toBeTruthy(); - }) - - describe('dispatchConcurrentModificationCommand', () => { - - it('should dispatch "publishConcurrentModificationAction" action', () => { - facade.dispatchConcurrentModificationCommand(); - - expect(store.dispatch).toHaveBeenCalledWith(CommandActions.publishConcurrentModificationAction()); - }); - }) -}) \ No newline at end of file diff --git a/goofy-client/libs/command-shared/src/lib/+state/command.facade.ts b/goofy-client/libs/command-shared/src/lib/+state/command.facade.ts deleted file mode 100644 index c5c8d1e850e839cb406ab45e02b9c429ed0a6805..0000000000000000000000000000000000000000 --- a/goofy-client/libs/command-shared/src/lib/+state/command.facade.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -import { Injectable } from '@angular/core'; -import { Store } from '@ngrx/store'; -import * as CommandActions from './command.actions'; - -@Injectable() -export class CommandFacade { - - constructor(private readonly store: Store) { } - - public dispatchConcurrentModificationCommand(): void { - this.store.dispatch(CommandActions.publishConcurrentModificationAction()); - } -} \ No newline at end of file diff --git a/goofy-client/libs/command-shared/src/lib/command-shared.module.ts b/goofy-client/libs/command-shared/src/lib/command-shared.module.ts index 48a922bad2dcec978dc4db462305179b12e89733..caca088980a5b39a59710d707537f1aec3b3a2f1 100644 --- a/goofy-client/libs/command-shared/src/lib/command-shared.module.ts +++ b/goofy-client/libs/command-shared/src/lib/command-shared.module.ts @@ -26,7 +26,6 @@ import { NgModule } from '@angular/core'; import { EffectsModule } from '@ngrx/effects'; import { StoreModule } from '@ngrx/store'; import { CommandEffects } from './+state/command.effects'; -import { CommandFacade } from './+state/command.facade'; import { COMMAND_FEATURE_KEY, reducer } from './+state/command.reducer'; @NgModule({ @@ -34,7 +33,6 @@ import { COMMAND_FEATURE_KEY, reducer } from './+state/command.reducer'; CommonModule, StoreModule.forFeature(COMMAND_FEATURE_KEY, reducer), EffectsModule.forFeature([CommandEffects]) - ], - providers:[CommandFacade] + ] }) export class CommandSharedModule { } diff --git a/goofy-client/libs/command-shared/src/lib/command.service.spec.ts b/goofy-client/libs/command-shared/src/lib/command.service.spec.ts index 7d7515adf6f0c94a0e317f6279e0f876ca2f6d01..aa5a4a61091a578ccd651ab9170226c88f183398 100644 --- a/goofy-client/libs/command-shared/src/lib/command.service.spec.ts +++ b/goofy-client/libs/command-shared/src/lib/command.service.spec.ts @@ -33,7 +33,6 @@ import { createCommand, createCommandErrorResource, createCommandListResource, c import { createHttpErrorResponse } from 'libs/tech-shared/test/http'; import { toResource } from 'libs/tech-shared/test/resource'; import { Observable, Subject, of, throwError } from 'rxjs'; -import { CommandFacade } from './+state/command.facade'; import { CommandLinkRel } from './command.linkrel'; import { CommandErrorMessage } from './command.message'; import { Command, CommandListResource, CommandOrder, CommandResource, CreateCommandProps } from './command.model'; @@ -50,7 +49,6 @@ describe('CommandService', () => { let selectionSubject: Subject<any>; const snackbarService: Mock<SnackBarService> = mock(SnackBarService); - const commandFacade: Mock<CommandFacade> = mock(CommandFacade); const command: Command = createCommand(); @@ -66,7 +64,7 @@ describe('CommandService', () => { store.dispatch = jest.fn(); repository = mock(CommandRepository); - service = new CommandService(useFromMock(repository), useFromMock(snackbarService), useFromMock(commandFacade), useFromMock(<any>store)); + service = new CommandService(useFromMock(repository), useFromMock(snackbarService), useFromMock(<any>store)); }) describe('create command', () => { @@ -187,10 +185,10 @@ describe('CommandService', () => { expect(snackbarService.showError).toHaveBeenCalledWith('Der Vorgang wurde zwischenzeitlich verändert und wurde neu geladen.'); }) - it('should call command facade "dispatchConcurrentModificationCommand"', () => { + it('should dispatch "dispatchConcurrentModificationCommand" action', () => { service.handleCommandError({...commandResource, errorMessage: CommandErrorMessage.CONCURRENT_MODIFICATION}); - expect(commandFacade.dispatchConcurrentModificationCommand).toHaveBeenCalled(); + expect(store.dispatch).toHaveBeenCalledWith(Actions.publishConcurrentModificationAction); }) }) diff --git a/goofy-client/libs/command-shared/src/lib/command.service.ts b/goofy-client/libs/command-shared/src/lib/command.service.ts index 25a6f325a3bd715cb7ea5350e23c1b4c4b222360..44df99f0c5764891d7d4eff566c45a267280dd40 100644 --- a/goofy-client/libs/command-shared/src/lib/command.service.ts +++ b/goofy-client/libs/command-shared/src/lib/command.service.ts @@ -30,7 +30,6 @@ import { Resource } from '@ngxp/rest'; import { Observable, of, Subject, throwError } from 'rxjs'; import { catchError, map, mergeMap, tap } from 'rxjs/operators'; import { CommandEffects } from './+state/command.effects'; -import { CommandFacade } from './+state/command.facade'; import { COMMAND_ERROR_MESSAGES } from './command.message'; import { CommandListResource, CommandOrder, CommandResource, CreateCommand, CreateCommandProps } from './command.model'; import { CommandRepository } from './command.repository'; @@ -44,7 +43,7 @@ export class CommandService { intervalTimer: number = CommandEffects.POLL_DELAY; - constructor(private repository: CommandRepository, private snackBarService: SnackBarService, private facade: CommandFacade, private store: Store) { } + constructor(private repository: CommandRepository, private snackBarService: SnackBarService, private store: Store) { } public createCommand(resource: Resource, linkRel: string, command: CreateCommand): Observable<StateResource<CommandResource>> { return this.handleCommandResponse(this.repository.createCommand(resource, linkRel, command)); @@ -78,7 +77,7 @@ export class CommandService { handleCommandError(command: CommandResource): Observable<StateResource<CommandResource>> { if(isConcurrentModification(command.errorMessage)){ this.snackBarService.showError(COMMAND_ERROR_MESSAGES[command.errorMessage]); - this.facade.dispatchConcurrentModificationCommand(); + this.store.dispatch(Actions.publishConcurrentModificationAction()); } return of(createStateResource(command)); }