|
@@ -40,13 +40,9 @@ afterEach(() => {
|
|
|
|
|
|
|
|
describe('normalize', () => {
|
|
describe('normalize', () => {
|
|
|
const initialMakeUriMethod = UrlUtils.makeIRI
|
|
const initialMakeUriMethod = UrlUtils.makeIRI
|
|
|
- //@ts-ignore
|
|
|
|
|
- const initialGetIriEncodedFieldsMethod = HydraNormalizer.getIriEncodedFields
|
|
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
afterEach(() => {
|
|
|
UrlUtils.makeIRI = initialMakeUriMethod
|
|
UrlUtils.makeIRI = initialMakeUriMethod
|
|
|
- //@ts-ignore
|
|
|
|
|
- HydraNormalizer.getIriEncodedFields = initialGetIriEncodedFieldsMethod
|
|
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
test('should normalize an entity into a JSON Object', () => {
|
|
test('should normalize an entity into a JSON Object', () => {
|
|
@@ -57,16 +53,6 @@ describe('normalize', () => {
|
|
|
oneToManyRelation: [123, 124, 125]
|
|
oneToManyRelation: [123, 124, 125]
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- //@ts-ignore
|
|
|
|
|
- HydraNormalizer.getIriEncodedFields = vi.fn(
|
|
|
|
|
- (entity) => {
|
|
|
|
|
- return {
|
|
|
|
|
- oneToOneRelation: DummyApiChild,
|
|
|
|
|
- oneToManyRelation: DummyApiChild
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- )
|
|
|
|
|
-
|
|
|
|
|
//@ts-ignore
|
|
//@ts-ignore
|
|
|
UrlUtils.makeIRI = vi.fn(
|
|
UrlUtils.makeIRI = vi.fn(
|
|
|
(targetEntity, id) => {
|
|
(targetEntity, id) => {
|
|
@@ -390,14 +376,10 @@ describe('denormalizeItem', () => {
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
describe('denormalizeEntity', () => {
|
|
describe('denormalizeEntity', () => {
|
|
|
- //@ts-ignore
|
|
|
|
|
- const initialGetIriEncodedFieldsMethod = HydraNormalizer.getIriEncodedFields
|
|
|
|
|
//@ts-ignore
|
|
//@ts-ignore
|
|
|
const initialGetIdFromEntityIriMethod = HydraNormalizer.getIdFromEntityIri
|
|
const initialGetIdFromEntityIriMethod = HydraNormalizer.getIdFromEntityIri
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
afterEach(() => {
|
|
|
- //@ts-ignore
|
|
|
|
|
- HydraNormalizer.getIriEncodedFields = initialGetIriEncodedFieldsMethod
|
|
|
|
|
//@ts-ignore
|
|
//@ts-ignore
|
|
|
HydraNormalizer.getIdFromEntityIri = initialGetIdFromEntityIriMethod
|
|
HydraNormalizer.getIdFromEntityIri = initialGetIdFromEntityIriMethod
|
|
|
})
|
|
})
|
|
@@ -410,16 +392,6 @@ describe('denormalizeEntity', () => {
|
|
|
oneToManyRelation: ['/api/dummyChild/123', '/api/dummyChild/124', '/api/dummyChild/125']
|
|
oneToManyRelation: ['/api/dummyChild/123', '/api/dummyChild/124', '/api/dummyChild/125']
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //@ts-ignore
|
|
|
|
|
- HydraNormalizer.getIriEncodedFields = vi.fn(
|
|
|
|
|
- (entity) => {
|
|
|
|
|
- return {
|
|
|
|
|
- oneToOneRelation: DummyApiChild,
|
|
|
|
|
- oneToManyRelation: DummyApiChild
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- )
|
|
|
|
|
-
|
|
|
|
|
//@ts-ignore
|
|
//@ts-ignore
|
|
|
HydraNormalizer.getIdFromEntityIri = vi.fn((iri) => {
|
|
HydraNormalizer.getIdFromEntityIri = vi.fn((iri) => {
|
|
|
return {
|
|
return {
|
|
@@ -439,7 +411,33 @@ describe('denormalizeEntity', () => {
|
|
|
oneToOneRelation: 99,
|
|
oneToOneRelation: 99,
|
|
|
oneToManyRelation: [123, 124, 125]
|
|
oneToManyRelation: [123, 124, 125]
|
|
|
}))
|
|
}))
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ test('should ignore relations fields when missing in the incoming data', () => {
|
|
|
|
|
+ const data = {
|
|
|
|
|
+ id: 7351,
|
|
|
|
|
+ name: 'Bob',
|
|
|
|
|
+ oneToManyRelation: ['/api/dummyChild/123', '/api/dummyChild/124', '/api/dummyChild/125']
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ //@ts-ignore
|
|
|
|
|
+ HydraNormalizer.getIdFromEntityIri = vi.fn((iri) => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ '/api/dummyChild/123': 123,
|
|
|
|
|
+ '/api/dummyChild/124': 124,
|
|
|
|
|
+ '/api/dummyChild/125': 125
|
|
|
|
|
+ }[iri]
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ //@ts-ignore
|
|
|
|
|
+ const result = HydraNormalizer.denormalizeEntity(DummyApiModel, data)
|
|
|
|
|
+
|
|
|
|
|
+ expect(result).toStrictEqual(new DummyApiModel({
|
|
|
|
|
+ id: 7351,
|
|
|
|
|
+ name: "Bob",
|
|
|
|
|
+ oneToOneRelation: null,
|
|
|
|
|
+ oneToManyRelation: [123, 124, 125]
|
|
|
|
|
+ }))
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
|
|
|
|
@@ -478,28 +476,6 @@ describe('parseEntityIRI', () => {
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-describe('getIriEncodedFields', () => {
|
|
|
|
|
- const initialRelations = DummyApiModel.relations
|
|
|
|
|
-
|
|
|
|
|
- afterEach(() => {
|
|
|
|
|
- DummyApiModel.relations = initialRelations
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- test('get relations', () => {
|
|
|
|
|
- //@ts-ignore
|
|
|
|
|
- const relations: Record<string, ApiResource> = {'someField': DummyApiChild}
|
|
|
|
|
-
|
|
|
|
|
- DummyApiModel.relations = relations
|
|
|
|
|
-
|
|
|
|
|
- const entity = new DummyApiModel()
|
|
|
|
|
-
|
|
|
|
|
- //@ts-ignore
|
|
|
|
|
- const results = HydraNormalizer.getIriEncodedFields(entity)
|
|
|
|
|
-
|
|
|
|
|
- expect(results).toEqual(relations)
|
|
|
|
|
- })
|
|
|
|
|
-})
|
|
|
|
|
-
|
|
|
|
|
describe('getIdFromEntityIri', () => {
|
|
describe('getIdFromEntityIri', () => {
|
|
|
//@ts-ignore
|
|
//@ts-ignore
|
|
|
const initialParseEntityIRI = HydraNormalizer.parseEntityIRI
|
|
const initialParseEntityIRI = HydraNormalizer.parseEntityIRI
|