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())); }
public void Should_be_able_to_convert_attribute_marked_model() { var model = new PersonModelWithAttributes(); var converter = new HALAttributeConverter(); Assert.True(converter.CanConvert(model.GetType())); }
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())); }
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"]); }
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()); }