public void WHEN_Convert_GIVEN_Valid_Dto_THEN_Get_Valid_Result_With_All_Links() { var uniqueIdFactory = SampleObjectsIdFactory.Instance; var growerDto = new GrowerDto { Uid = Guid.NewGuid(), Name = "Test" }; var converter = new GrowerDtoConverter(uniqueIdFactory); var grower = converter.Convert(growerDto); Assert.Equal(growerDto.Uid.ToString(), grower.Object.Id.UniqueIds.First().Id); Assert.Equal(growerDto.Name, grower.Object.Name); var selfLink = grower.Links.Single(l => l.Rel == Relationships.Self); Assert.Equal($"/Growers/{uniqueIdFactory.UniqueIdSource}/{growerDto.Uid}", selfLink.Link); Assert.Equal(selfLink.Id.ReferenceId, grower.Object.Id.ReferenceId); var farmsLink = grower.Links.Single(l => l.Rel == typeof(Farm).ListRel()); Assert.Equal($"/Growers/{uniqueIdFactory.UniqueIdSource}/{growerDto.Uid}/Farms", farmsLink.Link); var fieldsLink = grower.Links.Single(l => l.Rel == typeof(Field).ListRel()); Assert.Equal($"/Growers/{uniqueIdFactory.UniqueIdSource}/{growerDto.Uid}/Fields", fieldsLink.Link); }
public ModelEnvelope <Grower> Convert(GrowerDto pmGrower) { var grower = new Grower() { Name = pmGrower.Name }; var growerCompoundId = grower.Id; var growerUniqueId = _uniqueIdFactory.CreateGuid(pmGrower.Uid); growerCompoundId.UniqueIds.Add(growerUniqueId); var growerLink = new ReferenceLink { Id = growerCompoundId, Rel = Relationships.Self, Link = $"/Growers/{growerUniqueId.Source}/{growerUniqueId.Id}", Type = "get" }; var farmsLink = new ReferenceLink { Rel = typeof(Farm).ListRel(), Link = $"/Growers/{growerUniqueId.Source}/{growerUniqueId.Id}/Farms" }; var fieldsLink = new ReferenceLink { Rel = typeof(Field).ListRel(), Link = $"/Growers/{growerUniqueId.Source}/{growerUniqueId.Id}/Fields" }; grower.Id.UniqueIds.Add(growerUniqueId); var growerEnvelope = new ModelEnvelope <Grower>(grower); growerEnvelope.Links.Add(growerLink); growerEnvelope.Links.Add(farmsLink); growerEnvelope.Links.Add(fieldsLink); return(growerEnvelope); }