public void Custom_Mapping_Valid() { // arrange var model = new Model2 { EmailAddress = "*****@*****.**", Number = 21, Category = "dev" }; var expression = new MappingExpression <Model2>(); expression .ForMember(m => m.Category, cat => !string.IsNullOrWhiteSpace(cat)) .ForMember(m => m.EmailAddress, email => email.Contains("@")) .ForMember(m => m.Number, num => num >= 18); // act var result = expression.Validate(model, _settings); // assert result.Should().NotBeNull(); result.Success.Should().BeTrue(); result.Errors.Count.Should().Be(0); }
public void MinValue_greater_Value_Returns_True() { // arrange var model = new Model2 { Number = 11 }; var expression = new MappingExpression <Model2>(); expression.ForMember(m => m.Number, (n, exp) => exp.MinValue(n, 10, null)); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeTrue(); }
public void IsEmailAddress_With_Valid_Email_Return_True() { var model = new ModelSimple { Name = "*****@*****.**" }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.IsEmailAddress(n, "{0} != email '{1}'")); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeTrue(); }
public void NotNullOrEmpty_NonEmpty_String_Is_Valid() { // arrange var model = new ModelSimple { Name = "a" }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.NotNullOrEmpty(n, null)); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeTrue(); }
public void MinLength_Validator_ExpressionGreaterValue_is_valid() { // arrange var model = new ModelSimple { Name = "123", }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.MinLength(n, 2, null)); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeTrue(); }
public void NotNullOrEmpty_Empty_String_Is_Not_Valid_Override_Message() { // arrange var model = new ModelSimple(); var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.NotNullOrEmpty(n, "Test {0} Test")); // act var result = expression.Validate(model, _settings); // assert result.Errors.Should().ContainKey("Name"); var nameErrors = result.Errors["Name"]; nameErrors.Count.Should().Be(1); nameErrors.Should().Contain(e => e == "Test Name Test"); }
public void MinValue_Too_small_Value_Returns_False_custom_error() { // arrange var model = new Model2 { Number = 10 }; var expression = new MappingExpression <Model2>(); expression.ForMember(m => m.Number, (n, exp) => exp.MinValue(n, 11, "Test {0} should be more than {1} {2}")); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeFalse(); result.Errors.Should().ContainKey("Number"); var nameErrors = result.Errors["Number"]; nameErrors.Count.Should().Be(1); nameErrors.Should().Contain(e => e == "Test 11 should be more than Number 10"); }
public void MinValue_Too_small_Value_Returns_False() { // arrange var model = new Model2 { Number = 10 }; var expression = new MappingExpression <Model2>(); expression.ForMember(m => m.Number, (n, exp) => exp.MinValue(n, 11, null)); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeFalse(); result.Errors.Should().ContainKey("Number"); var errors = result.Errors["Number"]; errors.Count.Should().Be(1); errors.Should().Contain(e => e == "Number should be at least 11"); }
public void MaxLength_Validator_Equal_Length_Expression_valid() { // arrange // arrange var model = new ModelSimple { Name = "123", }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.MaxLength(n, 3, null)); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeTrue(); result.Errors.Count.Should().Be(0); }
public void IsEmailAddress_Invalid_Email_Error_Custom_Error() { // arrange var model = new ModelSimple { Name = "a.com" }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.IsEmailAddress(n, "{0} != email '{1}'")); // act var result = expression.Validate(model, _settings); // assert result.Success.Should().BeFalse(); result.Errors.Should().ContainKey("Name"); var nameErrors = result.Errors["Name"]; nameErrors.Count.Should().Be(1); nameErrors.Should().Contain(e => e == "Name != email 'a.com'"); }
public void MinLength_Validator_Expression_Invalid_custom_error() { // arrange var model = new ModelSimple { Name = "Jon Hawkins", }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.MinLength(n, 4444, "{0} - {1} - {2}")); // act var result = expression.Validate(model, _settings); // assert result.Errors.Should().ContainKey("Name"); var nameErrors = result.Errors["Name"]; nameErrors.Count.Should().Be(1); nameErrors.Should().Contain(e => e == "4444 - Name - Jon Hawkins"); }
public void MaxLength_Validator_Expression_Invalid() { // arrange // arrange var model = new ModelSimple { Name = "Jon Hawkins", }; var expression = new MappingExpression <ModelSimple>(); expression .ForMember(m => m.Name, (n, exp) => exp.MaxLength(n, 3, null)); // act var result = expression.Validate(model, _settings); // assert result.Errors.Should().ContainKey("Name"); var nameErrors = result.Errors["Name"]; nameErrors.Count.Should().Be(1); nameErrors.Should().Contain(e => e == "Name should not be longer than 3"); }