public ActionResult <decimal> CalculatePremium(LifePremiumModel model) // Can be made async when service is async { var validationResult = validator.Validate(model); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors.Select(e => e.ErrorMessage))); } var premium = service.CalculatePremium(model.SumInsured, Enum.Parse <Occupation>(model.Occupation), model.Age.GetValueOrDefault()); return(Ok(premium)); }
public void Should_Pass_Validation() { // Arrange var model = new LifePremiumModel { DateOfBirth = DateTime.Today.AddDays(-1), Name = "some name", Occupation = "Doctor", SumInsured = 1 }; // Act var result = sut.Validate(model); result.IsValid.Should().BeTrue(); result.Errors.Should().BeNullOrEmpty(); }