Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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");
        }
Esempio n. 4
0
        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>();
        }