public void formatter_withEmbeddedsHavingLinks_emitsValidHal() { // arrange var resource = new ResourceWithEmbeddedProducts { Car = new ProductResource { Make = "Ford" } }; resource.Car.Relations.Add("warranty", new Link { Href = "warrantyLink" }); // act var result = TestHelpers.Format.FormatObject(resource, _formatter); var o = JObject.Parse(result); var embedded = o["_embedded"]; var carLinks = embedded["car"]["_links"]; // assert embedded.Count().Should().Be(1); carLinks["warranty"]["href"].ToString().Should().Be("warrantyLink"); }
public void formatter_withMultipleEmbeddedResources_emitsValidHalEmbedded() { // arrange var resource = new ResourceWithEmbeddedProducts { Car = new ProductResource { Make = "Ford" }, Computer = new ProductResource { Make = "Acer" } }; // act var result = TestHelpers.Format.FormatObject(resource, _formatter); var o = JObject.Parse(result); var embedded = o["_embedded"]; var carMake = embedded["car"]["make"]; var computerMake = embedded["computer"]["make"]; // assert embedded.Count().Should().Be(2); carMake.ToString().Should().Be("Ford"); computerMake.ToString().Should().Be("Acer"); }
public void formatter_withUnassignedEmbeddedResource_omitEmbedded() { // arrange var resource = new ResourceWithEmbeddedProducts { Name = "Pat Smith" }; // act var result = TestHelpers.Format.FormatObject(resource, _formatter); // assert result.Should().NotContain("_embedded"); result.Should().Contain("Pat Smith"); }
public void formatter_withEmbeddedResource_emitsEmbeddedAndData() { // arrange var resource = new ResourceWithEmbeddedProducts { Car = new ProductResource { Make = "Ford" } }; // act var result = TestHelpers.Format.FormatObject(resource, _formatter); // assert result.Should().Contain("_embedded"); result.Should().Contain("Ford"); }
public void roundTrip_embedded_subResourcesCorrect() { // arrange var test = new ResourceWithEmbeddedProducts { Name = "foobar", Car = new ProductResource { Make = "Ford", Model = "Mustang" } }; // act var result = TestHelpers.Format.PerformRoundTrip <ResourceWithEmbeddedProducts>(test, _formatter); // assert result.Should().BeOfType <ResourceWithEmbeddedProducts>(); result.Name.Should().Be("foobar"); result.Car.Make.Should().Be("Ford"); result.Car.Should().BeOfType <ProductResource>(); }