From 069d2d5b546056eb645e7cf880733e6fc90759e2 Mon Sep 17 00:00:00 2001 From: sebo <sebastian.bergandy@external.mgm-cp.com> Date: Sun, 23 Mar 2025 20:48:21 +0100 Subject: [PATCH] OZG-7473 add test Based on CR comment. --- .../resource/list-resource.service.spec.ts | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts b/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts index 648099dffa..def11057ce 100644 --- a/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts +++ b/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts @@ -28,13 +28,13 @@ import { Resource, ResourceUri } from '@ngxp/rest'; import { cold } from 'jest-marbles'; import { DummyLinkRel, DummyListLinkRel } from 'libs/tech-shared/test/dummy'; import { createDummyListResource, createDummyResource, createFilledDummyListResource } from 'libs/tech-shared/test/resource'; -import { BehaviorSubject, Observable, of } from 'rxjs'; +import { BehaviorSubject, Observable, of, throwError } from 'rxjs'; import { multipleCold, singleCold, singleColdCompleted, singleHot } from '../../../test/marbles'; import { ResourceListService } from './list-resource.service'; import { CreateResourceData, LinkRelationName, ListItemResource, ListResourceServiceConfig } from './resource.model'; import { ResourceRepository } from './resource.repository'; import * as ResourceUtil from './resource.util'; -import { createEmptyStateResource, createErrorStateResource, createStateResource, ListResource, StateResource } from './resource.util'; +import { createEmptyStateResource, createErrorStateResource, createLoadingStateResource, createStateResource, ListResource, StateResource } from './resource.util'; import { ProblemDetail } from '@alfa-client/tech-shared'; import { expect } from '@jest/globals'; @@ -351,6 +351,26 @@ describe('ListResourceService', () => { expect(createdResource).toBeObservable(multipleCold(createEmptyStateResource(true), createStateResource(returnResource))); }); + + it('should handle error', () => { + const error: ProblemDetail = createProblemDetail(); + service._handleError = jest.fn(); + resourceRepository.createResource.mockReturnValue(throwError(() => error)); + + service.create(toCreate).subscribe(); + + expect(service._handleError).toHaveBeenCalledWith(error); + }); + + it('should emit on error', () => { + const error: ProblemDetail = createProblemDetail(); + service._handleError = jest.fn().mockReturnValue(of(createErrorStateResource(error))); + resourceRepository.createResource.mockReturnValue(cold('-#', null, error)); + + expect(service.create(toCreate)).toBeObservable( + cold('a(b|)', { a: createLoadingStateResource(), b: createErrorStateResource(error) }), + ); + }); }); describe('handle error', () => { -- GitLab