public void CanWrite_Returns_True_For_Model_With_Attributes() { var model = new PersonModelWithAttributes(); var formatter = new JsonHALMediaTypeFormatter(); Assert.True(formatter.CanWriteType(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_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 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()); }