public static ValidationResult Validate(RentalListing rentalListing, string ruleSet = RentalListingValidator.NormalRuleSet) { var validator = new RentalListingValidator(); return(string.IsNullOrWhiteSpace(ruleSet) ? validator.Validate(rentalListing) : validator.Validate(rentalListing, ruleSet: ruleSet)); }
public void GivenARentalListing_Validate_ShouldNotHaveAnyValidationErrors() { // Arrange. var validator = new RentalListingValidator(); var listing = CreateListing(); // Act. var result = validator.Validate(listing, ruleSet: RentalListingValidator.MinimumRuleSet); // Assert. result.Errors.Count.ShouldBe(0); }
public static ValidationResult Validate(Listing listing, string ruleSet = null) { if (listing is ResidentialListing) { var validator = new ResidentialListingValidator(); return(string.IsNullOrWhiteSpace(ruleSet) ? validator.Validate(listing as ResidentialListing) : validator.Validate(listing as ResidentialListing, ruleSet: RentalListingValidator.MinimumRuleSet)); } if (listing is RentalListing) { var validator = new RentalListingValidator(); return(string.IsNullOrWhiteSpace(ruleSet) ? validator.Validate(listing as RentalListing) : validator.Validate(listing as RentalListing, ruleSet: RentalListingValidator.MinimumRuleSet)); } if (listing is RuralListing) { var validator = new RuralListingValidator(); return(string.IsNullOrWhiteSpace(ruleSet) ? validator.Validate(listing as RuralListing) : validator.Validate(listing as RuralListing, ruleSet: RentalListingValidator.MinimumRuleSet));; } if (listing is LandListing) { var validator = new LandListingValidator(); return(string.IsNullOrWhiteSpace(ruleSet) ? validator.Validate(listing as LandListing) : validator.Validate(listing as LandListing, ruleSet: RentalListingValidator.MinimumRuleSet)); } var errorMessage = string.Format( "Tried to validate an unhandled Listing type: {0}. Only Residental, Rental, Rural and Land listing types are supported.", listing.GetType()); throw new Exception(errorMessage); }
public static ValidationResult Validate(Listing listing, bool isTheMinimumDataToStoreAListing = true) { if (listing is ResidentialListing) { var validator = new ResidentialListingValidator(); return(isTheMinimumDataToStoreAListing ? validator.Validate(listing as ResidentialListing, ruleSet: ResidentialListingValidator.MinimumRuleSet) : validator.Validate(listing as ResidentialListing)); } if (listing is RentalListing) { var validator = new RentalListingValidator(); return(isTheMinimumDataToStoreAListing ? validator.Validate(listing as RentalListing, ruleSet: RentalListingValidator.MinimumRuleSet) : validator.Validate(listing as RentalListing)); } if (listing is RuralListing) { var validator = new RuralListingValidator(); return(isTheMinimumDataToStoreAListing ? validator.Validate(listing as RuralListing, ruleSet: RuralListingValidator.MinimumRuleSet) : validator.Validate(listing as RuralListing));; } if (listing is LandListing) { var validator = new LandListingValidator(); return(isTheMinimumDataToStoreAListing ? validator.Validate(listing as LandListing, ruleSet: LandListingValidator.MinimumRuleSet) : validator.Validate(listing as LandListing)); } var errorMessage = string.Format( "Tried to validate an unhandled Listing type: {0}. Only Residental, Rental, Rural and Land listing types are supported.", listing.GetType()); throw new Exception(errorMessage); }
public void GivenAnIncompleteRentalListing_Validate_ShouldHaveAnyValidationErrors() { // Arrange. var validator = new RentalListingValidator(); // Act. var result = validator.Validate(new RentalListing(), ruleSet: RentalListingValidator.MinimumRuleSet); // Assert. result.Errors.Count.ShouldBe(9); result.Errors.ShouldContain(x => x.PropertyName == "AgencyId"); result.Errors.ShouldContain(x => x.PropertyName == "StatusType"); result.Errors.ShouldContain(x => x.PropertyName == "CreatedOn"); result.Errors.ShouldContain(x => x.PropertyName == "Id"); result.Errors.ShouldContain(x => x.PropertyName == "UpdatedOn"); result.Errors.ShouldContain(x => x.PropertyName == "Title"); result.Errors.ShouldContain(x => x.PropertyName == "Description"); result.Errors.ShouldContain(x => x.PropertyName == "Address"); result.Errors.ShouldContain(x => x.PropertyName == "PropertyType"); }
public void GivenANonCurrentReaRentalFileAndAnExistingListing_Parse_ReturnsTheUpdatedListing(string fileName, StatusType expectedStatusType) { // Arrange. var existingListing = FakeListings.CreateAFakeRentalListing(); var reaXml = File.ReadAllText(FakeDataFolder + fileName); var reaXmlTransmorgrifier = new ReaXmlTransmorgrifier(); // Arrange. var result = reaXmlTransmorgrifier.Parse(reaXml, existingListing); // Assert. var listing = result.Listings.First().Listing as RentalListing; listing.StatusType.ShouldBe(expectedStatusType); var validator = new RentalListingValidator(); var validationResult = validator.Validate(listing, ruleSet: RentalListingValidator.StrictRuleSet); validationResult.IsValid.ShouldBeTrue(); }
public static ValidationResult Validate(Listing listing, bool isTheMinimumDataToStoreAListing = true) { if (listing is ResidentialListing) { var validator = new ResidentialListingValidator(); return isTheMinimumDataToStoreAListing ? validator.Validate(listing as ResidentialListing, ruleSet: ResidentialListingValidator.MinimumRuleSet) : validator.Validate(listing as ResidentialListing); } if (listing is RentalListing) { var validator = new RentalListingValidator(); return isTheMinimumDataToStoreAListing ? validator.Validate(listing as RentalListing, ruleSet: RentalListingValidator.MinimumRuleSet) : validator.Validate(listing as RentalListing); } if (listing is RuralListing) { var validator = new RuralListingValidator(); return isTheMinimumDataToStoreAListing ? validator.Validate(listing as RuralListing, ruleSet: RuralListingValidator.MinimumRuleSet) : validator.Validate(listing as RuralListing);; } if (listing is LandListing) { var validator = new LandListingValidator(); return isTheMinimumDataToStoreAListing ? validator.Validate(listing as LandListing, ruleSet: LandListingValidator.MinimumRuleSet) : validator.Validate(listing as LandListing); } var errorMessage = string.Format( "Tried to validate an unhandled Listing type: {0}. Only Residental, Rental, Rural and Land listing types are supported.", listing.GetType()); throw new Exception(errorMessage); }
public void GivenAnIncompleteRentalListing_Validate_ShouldHaveAnyValidationErrors() { // Arrange. var validator = new RentalListingValidator(); // Act. var result = validator.Validate(new RentalListing(), ruleSet: RentalListingValidator.MinimumRuleSet); // Assert. result.Errors.Count.ShouldBe(10); result.Errors.ShouldContain(x => x.PropertyName == "AgencyId"); result.Errors.ShouldContain(x => x.PropertyName == "StatusType"); result.Errors.ShouldContain(x => x.PropertyName == "CreatedOn"); result.Errors.ShouldContain(x => x.PropertyName == "Id"); result.Errors.ShouldContain(x => x.PropertyName == "UpdatedOn"); result.Errors.ShouldContain(x => x.PropertyName == "Title"); result.Errors.ShouldContain(x => x.PropertyName == "Description"); result.Errors.ShouldContain(x => x.PropertyName == "Address"); result.Errors.ShouldContain(x => x.PropertyName == "PropertyType"); result.Errors.ShouldContain(x => x.PropertyName == "Pricing"); }
public SimpleValidationFacts() { _validator = new RentalListingValidator(); }