Beispiel #1
0
        public void Should_not_be_able_to_convert_non_attribute_marked_model()
        {
            var model     = new object();
            var converter = new HALAttributeConverter();

            Assert.False(converter.CanConvert(model.GetType()));
        }
Beispiel #2
0
        public void Should_be_able_to_convert_attribute_marked_model()
        {
            var model     = new PersonModelWithAttributes();
            var converter = new HALAttributeConverter();

            Assert.True(converter.CanConvert(model.GetType()));
        }
Beispiel #3
0
        public void Should_not_be_able_to_convert_HalReponse_with_attribute_marked_model()
        {
            var model       = new PersonModelWithAttributes();
            var halResponse = new HALResponse(model);
            var converter   = new HALAttributeConverter();

            Assert.False(converter.CanConvert(halResponse.GetType()));
        }
Beispiel #4
0
        public void Link_Constructed_From_Attribute()
        {
            var model     = new PersonModelWithAttributes();
            var converter = new HALAttributeConverter();

            var halResponse = converter.Convert(model);

            Assert.True(halResponse.HasSelfLink());
        }
        public void Embedded_Null_Enumerable_Constructed_From_Attribute()
        {
            var model     = new PersonModelWithNullEmbeddedAttribute();
            var converter = new HALAttributeConverter();

            var halResponse = converter.Convert(model);
            var serializer  = new JsonSerializer();
            var jObject     = halResponse.ToJObject(serializer);

            Assert.Null(jObject["_embedded"]);
        }
        public void Embedded_Single_Property_With_Embedded_Collection_Constructed_From_Attribute()
        {
            var model     = new PersonModelWithAttributes();
            var converter = new HALAttributeConverter();

            var halResponse = converter.Convert(model);
            var serializer  = new JsonSerializer();

            var jObject = halResponse.ToJObject(serializer);

            var embedded = jObject["_embedded"]["favouritePet"]["_embedded"]["toys"][0];

            Assert.Equal("Rubber Bone", embedded["Name"]);
        }
Beispiel #7
0
        public void Sets_Config_From_Attribute()
        {
            var model = new PersonModelWithAttributes();

            var converter  = new HALAttributeConverter();
            var serializer = new JsonSerializer();

            var hal     = converter.Convert(model);
            var jObject = hal.ToJObject(serializer);


            var selfLink = jObject["_links"]["self"]["href"];

            Assert.StartsWith("~/api", selfLink.ToString());
        }
        public void Paged_Links_Constructed_From_Attributes()
        {
            var model = new PagedPeopleModelWithAttributes()
            {
                PageIndex = 5
            };

            var converter = new HALAttributeConverter();

            var halResponse = converter.Convert(model);
            var serializer  = new JsonSerializer();

            var jObject = halResponse.ToJObject(serializer);

            var links = jObject["_links"];

            Assert.Equal("~/api/person?index=5", links["self"]["href"]);
        }
        public void Embedded_Enumerable_Constructed_From_Attribute()
        {
            var model = new PersonModelWithAttributes();

            model.Pets.Add(new Pet {
                Id = 1, Name = "Fido"
            });
            var converter = new HALAttributeConverter();

            var halResponse = converter.Convert(model);
            var serializer  = new JsonSerializer();
            var jObject     = halResponse.ToJObject(serializer);

            var embedded         = jObject["_embedded"]["pets"][0];
            var embeddedSelfLink = embedded["_links"]["self"];

            Assert.Equal("Fido", embedded["Name"]);
            Assert.Equal("1", embedded["Id"]);
            Assert.Equal("~/api/pets/1", embeddedSelfLink["href"].ToString());
        }