From dd758fcf8f5ca626c08b36d35c2651a1eaa0a427 Mon Sep 17 00:00:00 2001 From: Albert <Albert.Bruns@mgm-tp.com> Date: Wed, 26 Feb 2025 15:23:44 +0100 Subject: [PATCH] OZG-7620 cr anmerkungen --- .../src/lib/keycloak-formservice.spec.ts | 20 -------------- .../src/lib/keycloak-formservice.ts | 6 ----- ...-delete-dialog-container.component.spec.ts | 26 +++++++++++++------ .../user-delete-dialog-container.component.ts | 6 +++-- .../lib/user-form/user.formservice.spec.ts | 22 ---------------- .../src/lib/user-form/user.formservice.ts | 4 --- 6 files changed, 22 insertions(+), 62 deletions(-) diff --git a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.spec.ts b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.spec.ts index 41240e84f5..6fe0a332ba 100644 --- a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.spec.ts +++ b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.spec.ts @@ -201,26 +201,6 @@ describe('KeycloakFormService', () => { }); }); - describe('delete', () => { - const dummyStateResource: StateResource<Dummy> = createStateResource(createDummy()); - - beforeEach(() => { - service._doDelete = jest.fn().mockReturnValue(singleHot(dummyStateResource)); - }); - - it('should call do delete', () => { - service.delete(); - - expect(service._doDelete).toHaveBeenCalled(); - }); - - it('should return delete response', () => { - const deleteResponse: Observable<StateResource<Dummy>> = service.delete(); - - expect(deleteResponse).toBeObservable(singleCold(dummyStateResource)); - }); - }); - describe('patch', () => { const valueToPatch: Dummy = { name: 'newName' }; let patchFormSpy: jest.SpyInstance; diff --git a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.ts b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.ts index bc8b2ea245..49a2e6c84e 100644 --- a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.ts +++ b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak-formservice.ts @@ -75,12 +75,6 @@ export abstract class KeycloakFormService<T> { abstract _doSubmit(): Observable<StateResource<T>>; - public delete(): Observable<StateResource<unknown>> { - return this._doDelete(); - } - - abstract _doDelete(): Observable<StateResource<unknown>>; - _patch(valueToPatch: T): void { this.form.reset(); diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts b/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts index 7d31c2336f..08d0be421e 100644 --- a/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts +++ b/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts @@ -1,6 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ROUTES } from '@admin-client/shared'; +import { UserService } from '@admin-client/user-shared'; import { NavigationService } from '@alfa-client/navigation-shared'; import { createEmptyStateResource, StateResource } from '@alfa-client/tech-shared'; import { dispatchEventFromFixture, getMockComponent, Mock, mock } from '@alfa-client/test-utils'; @@ -20,10 +21,12 @@ describe('UserFormDeleteDialogComponent', () => { const deletDialogLocator: string = getDataTestIdOf('delete-dialog'); let formService: Mock<UserFormService>; + let userService: Mock<UserService>; let navigationService: Mock<NavigationService>; beforeEach(async () => { formService = mock(UserFormService); + userService = mock(UserService); navigationService = mock(NavigationService); formService = { ...mock(UserFormService), @@ -35,6 +38,7 @@ describe('UserFormDeleteDialogComponent', () => { imports: [UserDeleteDialogContainerComponent, UserDeleteDialogComponent], providers: [ { provide: UserFormService, useValue: formService }, + { provide: UserService, useValue: userService }, { provide: NavigationService, useValue: navigationService }, ], }).compileComponents(); @@ -73,29 +77,35 @@ describe('UserFormDeleteDialogComponent', () => { describe('component', () => { describe('deleteUser', () => { + const userId: string = faker.string.uuid(); const loadingStateResource: StateResource<unknown> = createEmptyStateResource(true); const loadingStateResource$: Observable<StateResource<unknown>> = of(loadingStateResource); const loadingDoneStateResource$: Observable<StateResource<unknown>> = of(createEmptyStateResource()); - it('should call formService.delete', () => { - formService.delete.mockReturnValue(loadingStateResource$); + beforeEach(() => { + userService.delete = jest.fn().mockReturnValue(loadingStateResource$); + formService.getId = jest.fn().mockReturnValue(userId); + }); + it('should call formService getId', () => { component.deleteUser(); - expect(formService.delete).toHaveBeenCalled(); + expect(formService.getId).toHaveBeenCalled(); }); - it('should set deleteUserStateResource$', () => { - formService.delete.mockReturnValue(loadingStateResource$); + it('should call userService delete', () => { + component.deleteUser(); + expect(userService.delete).toHaveBeenCalledWith(userId); + }); + + it('should set deleteUserStateResource$', () => { component.deleteUser(); expect(component.deleteUserStateResource$).toBeObservable(singleColdCompleted(loadingStateResource)); }); it('should not navigate on loading', () => { - formService.delete.mockReturnValue(loadingStateResource$); - component.deleteUser(); component.deleteUserStateResource$.subscribe(); @@ -103,7 +113,7 @@ describe('UserFormDeleteDialogComponent', () => { }); it('should navigate on delete success', () => { - formService.delete.mockReturnValue(loadingDoneStateResource$); + userService.delete.mockReturnValue(loadingDoneStateResource$); component.deleteUser(); component.deleteUserStateResource$.subscribe(); diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.ts b/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.ts index a582fc6598..fb3f0e0a9a 100644 --- a/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.ts +++ b/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.ts @@ -1,4 +1,5 @@ import { ROUTES } from '@admin-client/shared'; +import { UserService } from '@admin-client/user-shared'; import { NavigationService } from '@alfa-client/navigation-shared'; import { createEmptyStateResource, isNotLoading, StateResource } from '@alfa-client/tech-shared'; import { AsyncPipe } from '@angular/common'; @@ -15,13 +16,14 @@ import { UserDeleteDialogComponent } from './user-delete-dialog/user-delete-dial }) export class UserDeleteDialogContainerComponent { public readonly formService = inject(UserFormService); + public readonly userService = inject(UserService); public readonly navigationService = inject(NavigationService); public deleteUserStateResource$: Observable<StateResource<unknown>> = of(createEmptyStateResource()); public deleteUser(): void { - this.deleteUserStateResource$ = this.formService - .delete() + this.deleteUserStateResource$ = this.userService + .delete(this.formService.getId()) .pipe(tap((state: StateResource<unknown>) => this.navigateOnDeleteSuccess(state))); } diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts b/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts index 7b340b7fff..e4f349008d 100644 --- a/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts +++ b/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts @@ -358,28 +358,6 @@ describe('UserFormService', () => { })); }); - describe('doDelete', () => { - const id: string = faker.string.uuid(); - const stateResource: StateResource<unknown> = createEmptyStateResource(); - - beforeEach(() => { - formService._patchConfig = { id, doPatch: true }; - service.delete.mockReturnValue(of(stateResource)); - }); - - it('should call service delete', () => { - formService._doDelete(); - - expect(service.delete).toHaveBeenCalledWith(id); - }); - - it('should return empty stateResource', () => { - const result: Observable<StateResource<unknown>> = formService._doDelete(); - - expect(result).toBeObservable(singleColdCompleted(stateResource)); - }); - }); - describe('createOrSave', () => { const user: User = createUser(); diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.ts b/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.ts index da268c079e..a456872659 100644 --- a/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.ts +++ b/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.ts @@ -206,10 +206,6 @@ export class UserFormService extends KeycloakFormService<User> implements OnDest ); } - _doDelete(): Observable<StateResource<unknown>> { - return this.userService.delete(this._patchConfig.id); - } - _createOrSave(user: User): Observable<StateResource<User>> { if (this.isPatch()) { return this.userService.save({ -- GitLab