diff --git a/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.spec.ts b/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.spec.ts index a4873730938d80aa0efe333f7177aca4e2e4ff28..eef4a6cad0cd8c46e932d45a93b11eab29005b62 100644 --- a/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.spec.ts +++ b/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.spec.ts @@ -23,7 +23,7 @@ */ import { getEmbeddedResource } from '@ngxp/rest'; import { DummyListLinkRel } from 'libs/tech-shared/test/dummy'; -import { createDummyListResource } from 'libs/tech-shared/test/resource'; +import { createDummyListResource, toResource } from 'libs/tech-shared/test/resource'; import { ListResource } from '../resource/resource.util'; import { EMPTY_ARRAY } from '../tech.util'; import { ToEmbeddedResourcesPipe } from './to-embedded-resource.pipe'; @@ -55,5 +55,11 @@ describe('ToEmbeddedResourcesPipe', () => { expect(result).toBe(EMPTY_ARRAY); }); + + it('should return empty array non existing resources', () => { + const result: unknown[] = pipe.transform(toResource({}), DummyListLinkRel.LIST); + + expect(result).toBe(EMPTY_ARRAY); + }); }); }); diff --git a/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.ts b/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.ts index 77e51945183b3b392c2b3d49647af0bf4a0e02ea..f310e40a994c86031869c1137adf3a3387864b38 100644 --- a/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.ts +++ b/alfa-client/libs/tech-shared/src/lib/pipe/to-embedded-resource.pipe.ts @@ -23,7 +23,7 @@ */ import { Pipe, PipeTransform } from '@angular/core'; import { Resource, getEmbeddedResource } from '@ngxp/rest'; -import { isNil } from 'lodash-es'; +import { isNil, isNull } from 'lodash-es'; import { LinkRelationName } from '../resource/resource.model'; import { ListResource } from '../resource/resource.util'; import { EMPTY_ARRAY } from '../tech.util'; @@ -32,6 +32,7 @@ import { EMPTY_ARRAY } from '../tech.util'; export class ToEmbeddedResourcesPipe implements PipeTransform { transform(listResource: ListResource, linkRel: LinkRelationName): Resource[] { if (isNil(listResource) || isNil(linkRel)) return EMPTY_ARRAY; - return getEmbeddedResource(listResource, linkRel); + const embeddedReources: Resource[] = getEmbeddedResource(listResource, linkRel); + return isNull(embeddedReources) ? EMPTY_ARRAY : embeddedReources; } }