From 973fd339da24b0d96ef4484e20f4a2a93224bd04 Mon Sep 17 00:00:00 2001 From: pcg-kk Date: Mon, 22 Apr 2024 22:16:42 +0200 Subject: [PATCH] fix: add unit test for rename property case --- .../core/cache/builders/link.service.spec.ts | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/src/app/core/cache/builders/link.service.spec.ts b/src/app/core/cache/builders/link.service.spec.ts index d987891388..122945ab6a 100644 --- a/src/app/core/cache/builders/link.service.spec.ts +++ b/src/app/core/cache/builders/link.service.spec.ts @@ -31,10 +31,12 @@ class TestModel implements HALResource { self: HALLink; predecessor: HALLink; successor: HALLink; + standardLinkName: HALLink; }; predecessor?: TestModel; successor?: TestModel; + renamedProperty?: TestModel; } const mockDataServiceMap: any = new Map([ @@ -66,6 +68,24 @@ describe('LinkService', () => { testDataService = new TestDataService(); spyOn(testDataService, 'findListByHref').and.callThrough(); spyOn(testDataService, 'findByHref').and.callThrough(); + + const linksDefinitions = new Map(); + linksDefinitions.set('predecessor', { + resourceType: TEST_MODEL, + linkName: 'predecessor', + propertyName: 'predecessor', + }); + linksDefinitions.set('successor', { + resourceType: TEST_MODEL, + linkName: 'successor', + propertyName: 'successor', + }); + linksDefinitions.set('standardLinkName', { + resourceType: TEST_MODEL, + linkName: 'standardLinkName', + propertyName: 'renamedProperty', + }); + TestBed.configureTestingModule({ providers: [ LinkService, @@ -87,18 +107,7 @@ describe('LinkService', () => { }, { provide: LINK_DEFINITION_MAP_FACTORY, - useValue: jasmine.createSpy('getLinkDefinitions').and.returnValue([ - { - resourceType: TEST_MODEL, - linkName: 'predecessor', - propertyName: 'predecessor', - }, - { - resourceType: TEST_MODEL, - linkName: 'successor', - propertyName: 'successor', - }, - ]), + useValue: jasmine.createSpy('getLinkDefinitions').and.returnValue(linksDefinitions), }, ], }); @@ -117,6 +126,15 @@ describe('LinkService', () => { }); }); }); + describe(`when the propertyName is different than linkName`, () => { + beforeEach(() => { + result = service.resolveLink(testModel, followLink('standardLinkName', {})); + }); + it('link should be assign to custom property', () => { + expect(result.renamedProperty).toBeDefined(); + expect(result.standardLinkName).toBeUndefined(); + }); + }); describe(`when the linkdefinition concerns a list`, () => { beforeEach(() => { ((service as any).getLinkDefinition as jasmine.Spy).and.returnValue({