public void Validate_When_properties_on_each_level_are_invalid_Then_returns_error_with_correct_argument_name_in_result() { var customerDto = new CustomerDtoBuilder() .WithFirstName(null) .Build(); customerDto.Address.Street = null; customerDto.Children = new List <ChildDto> { new ChildDto { FirstName = null, Age = 5 }, new ChildDto { FirstName = null, Age = 6 } }; var result = _dtoValidatorVisitor.Validate(customerDto); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.ArgumentErrors[0].ArgumentName == "FirstName"); Assert.IsTrue(result.ArgumentErrors[1].ArgumentName == "Address.Street"); Assert.IsTrue(result.ArgumentErrors[2].ArgumentName == "Children[0].FirstName"); Assert.IsTrue(result.ArgumentErrors[3].ArgumentName == "Children[1].FirstName"); }
public void ToDomain() { Guid customerId = Guid.NewGuid(); string firstname = "Tim"; string lastname = "Timmelston"; string streetName = "streetName"; string houseNumber = "HouseNumber"; string postalCode = "postalCode"; string country = "country"; AddressDto addressDto = new AddressDto() .WithStreetName(streetName) .WithHouseNumber(houseNumber) .WithPostalCode(postalCode) .WithCountry(country); string localpart = "localPart"; string domain = "domain"; string complete = "complete"; EmailDto emailDto = new EmailDto() .WithLocalPart(localpart) .WithDomain(domain) .WithComplete(complete); string countryCallingCode = "32"; string number = "number"; PhoneNumberDto phoneNumberDto = new PhoneNumberDto() .WithCountryCallingCode(countryCallingCode) .WithNumber(number); // when Customer customer = _customerMapper.ToDomain(CustomerDtoBuilder.CustomerDto() .WithId(customerId) .WithFirstname(firstname) .WithLastname(lastname) .WithAddress(addressDto) .WithEmail(emailDto) .WithPhoneNumber(phoneNumberDto) .Build()); // then Assert.Equal(customerId, customer.Id); Assert.Equal(firstname, customer.FirstName); Assert.Equal(lastname, customer.LastName); Assert.Equal(streetName, customer.Address.StreetName); Assert.Equal(houseNumber, customer.Address.HouseNumber); Assert.Equal(postalCode, customer.Address.PostalCode); Assert.Equal(country, customer.Address.Country); Assert.Equal(localpart, customer.Email.LocalPart); Assert.Equal(domain, customer.Email.Domain); Assert.Equal(complete, customer.Email.Complete); Assert.Equal(number, customer.PhoneNumber.Number); Assert.Equal(countryCallingCode, customer.PhoneNumber.CountryCallingCode); }
public void Validate_When_property_in_top_level_dto_is_invalid_Then_returns_errors_with_correct_argument_names_in_result() { var customerDto = new CustomerDtoBuilder() .WithFirstName(null) .Build(); var result = _dtoValidatorVisitor.Validate(customerDto); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.ArgumentErrors[0].ArgumentName == "FirstName"); }
public void Validate_When_ValidateInternal_creates_error_Then_error_returned_from_Validate() { var dto = new CustomerDtoBuilder().WithFirstName("aaaaa").Build(); dto.Address.Street = null; CustomerDtoValidator dtoValidator = new CustomerDtoValidator(); var result = dtoValidator.Validate(dto); Assert.IsTrue(result.ArgumentErrors[0].ArgumentError is ArgumentErrorStub); }
public void Validate_When_fluent_validation_fails_on_required_field_Then_the_error_is_passed_to_ValidateInternal() { var dto = new CustomerDtoBuilder().WithFirstName(null).Build(); dto.Address.Street = null; CustomerDtoValidator dtoValidator = new CustomerDtoValidator(); var result = dtoValidator.Validate(dto); Assert.IsTrue(dtoValidator.FirstNameRequiredErrorIsPassedToValidateInternal); }
public void Validate_When_fluent_validation_fails_on_required_field_on_dependent_object_Then_no_error_is_returned() { var dto = new CustomerDtoBuilder().Build(); dto.Address.Street = null; CustomerDtoValidator dtoValidator = new CustomerDtoValidator(); var result = dtoValidator.Validate(dto); Assert.IsTrue(result.IsValid); }
public void Validate_When_fluent_validation_fails_on_required_field_Then_error_is_returned() { var dto = new CustomerDtoBuilder().WithFirstName(null).Build(); CustomerDtoValidator dtoValidator = new CustomerDtoValidator(); var result = dtoValidator.Validate(dto); Assert.IsFalse(result.IsValid); Assert.AreEqual(1, result.ArgumentErrors.Count); Assert.IsTrue(result.ArgumentErrors[0].ArgumentError is RequiredArgumentError); }
public void Validate_When_property_on_second_level_is_invalid_Then_returns_error_with_correct_argument_name_in_result() { var customerDto = new CustomerDtoBuilder() .Build(); customerDto.Address.Street = null; var result = _dtoValidatorVisitor.Validate(customerDto); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.ArgumentErrors[0].ArgumentName == "Address.Street"); }
public void Set_When_set_simple_entity_and_get_Then_works() { var customerDto = new CustomerDtoBuilder().Build(); _cache.Set("Key1", customerDto); var customer2Dto = _cache.Get <CustomerDto>("Key1"); Assert.AreEqual(customerDto.FirstName, customer2Dto.FirstName); Assert.AreEqual(customerDto.Children.Count, customer2Dto.Children.Count); Assert.AreEqual(customerDto.Children[0].Age, customer2Dto.Children[0].Age); }
private CustomerDto CreateCustomerDto() { return(CustomerDtoBuilder.CustomerDto() .WithFirstname("Bruce") .WithLastname("Wayne") .WithEmail(new EmailDto() .WithLocalPart("brucy") .WithDomain("bat.net") .WithComplete("*****@*****.**")) .WithPhoneNumber(new PhoneNumberDto() .WithNumber("485212121") .WithCountryCallingCode("+32")) .WithAddress(new AddressDto() .WithStreetName("Secretstreet") .WithHouseNumber("841") .WithPostalCode("1238") .WithCountry("Gotham")) .Build()); }
public void Validate_When_enumerable_property__is_invalid_Then_returns_error_with_correct_argument_name_in_result() { var customerDto = new CustomerDtoBuilder() .Build(); customerDto.Children = new List <ChildDto> { new ChildDto { FirstName = null, Age = 5 }, new ChildDto { FirstName = null, Age = 6 } }; var result = _dtoValidatorVisitor.Validate(customerDto); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.ArgumentErrors[0].ArgumentName == "Children[0].FirstName"); Assert.IsTrue(result.ArgumentErrors[1].ArgumentName == "Children[1].FirstName"); }