fix: add unit test for rename property case

This commit is contained in:
pcg-kk
2024-04-22 22:16:42 +02:00
parent 3351615140
commit 973fd339da

View File

@@ -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({