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 41240e84f576532b296a61e24e9375f400e6d471..6fe0a332ba918b071d6bddfb712e7b4e177a4891 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 bc8b2ea2455f7cd0d3f77e0b02e72cc3998d1f4d..49a2e6c84e3fdbf69b22ca324ee0100a34ae6763 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 7d31c2336f640739f3ff3c63d5d295405d9c9af8..08d0be421e975875835070706f8ca35efb6cfbf4 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 a582fc6598784096a6bedfb4b78966980cd0e9e9..fb3f0e0a9ae2e286b4ab6e49d4f4e79965b65dc5 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 7b340b7fff3d0a41d0060c94835ce82fde99b9a0..e4f349008dcf3b2fa2417836a3e735115a30449b 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 da268c079ed0afa0607f1ce1c5667a4c1cb0d116..a456872659a6b1ebd15a0bb570080b5834069fdd 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({