public void Message_should_contain_bound_type_and_property_name() { //When var exception = new ModelBindingException(typeof(string), "PropName"); //then exception.Message.ShouldEqual(String.Format("Unable to bind to type: {0}; Property: {1}", typeof(string), "PropName")); }
public void Message_should_contain_only_bound_type_if_no_property_is_provided() { //When var exception = new ModelBindingException(typeof(string)); //Then exception.Message.ShouldEqual("Unable to bind to type: " + typeof(string)); }
public void Message_should_contain_bound() { //When var exception = new ModelBindingException(typeof(string)); //then exception.Message.ShouldEqual(String.Format("Unable to bind to type: {0}", typeof(string))); }
public void Ctor_should_set_empty_property_exceptions_list_if_none_are_provided() { //When var exception = new ModelBindingException(typeof(string)); //Then exception.PropertyBindingExceptions.Any().ShouldBeFalse(); }
/// <summary> /// Extracts the name of the invalid property. /// </summary> /// <param name="exception">The exception.</param> /// <returns></returns> private string ExtractInvalidPropertyName(ModelBindingException exception) { if (exception.InnerException != null) { var items = exception.InnerException.Message.Split(',')[0].Split('.'); return(items[items.Length - 1]); } return(String.Empty); }
public void Ctor_should_set_property_exceptions_and_bound_type() { //When var propertyExceptions = new List <PropertyBindingException>(); var exception = new ModelBindingException(typeof(string), propertyExceptions); //Then exception.BoundType.ShouldBeOfType <string>(); exception.PropertyBindingExceptions.ShouldBeSameAs(propertyExceptions); }
public void Ctor_should_set_property_name_and_bound_type_and_inner_exception() { //When var inner = new Exception(); var exception = new ModelBindingException(typeof(string), "Length", inner); //Then exception.BoundType.ShouldBeOfType <string>(); exception.PropertyName.ShouldEqual("Length"); exception.InnerException.ShouldBeSameAs(inner); }
public void GivenExceptionIsModelBindingException_WhenRunningPipeline_ThenReturnsBadRequestWithExceptionDetails() { var modelBindingException = new ModelBindingException(typeof(object), new[] { new PropertyBindingException("SomeProperty", "1") }); var expectedExceptionModel = modelBindingException.Message; var result = _sut.Invoke(A.Dummy <NancyContext>(), modelBindingException) as Negotiator; result.Should().NotBeNull(); result.NegotiationContext.StatusCode.Should().Be(HttpStatusCode.BadRequest); var actualExceptionModel = result.NegotiationContext.GetModelForMediaRange("application/json") as object; actualExceptionModel.Should().BeAssignableTo <string>(); ((string)actualExceptionModel).ShouldBeEquivalentTo(expectedExceptionModel); }
/// <summary> /// Adds the model binding exception. /// </summary> /// <param name="exception">The exception.</param> /// <returns></returns> public ErrorResponseBuilder WithModelBindingException(ModelBindingException exception) { this.bindingException = exception; return(this); }