public void SumInvalidModel() { var model = new BigNumbersSumViewModel() { Number1 = "1d", Number2 = "d2", }; var loggerMock = new Mock <ILogger>(); string loggedMessage = null; loggerMock.Setup(l => l.Log(It.IsAny <LogLevel>(), It.IsAny <string>())) .Callback <LogLevel, string>((level, message) => { loggedMessage = message; }); var controller = new SumController(loggerMock.Object); controller.ViewData.ModelState.AddModelError("Key", "ErrorMessage"); ViewResult result = controller.Sum(model) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual(null, ((BigNumbersSumViewModel)result.Model).Result); Assert.AreEqual(null, loggedMessage); }
public void Sum() { var model = new BigNumbersSumViewModel() { Number1 = "1", Number2 = "2", }; var loggerMock = new Mock <ILogger>(); string loggedMessage = null; loggerMock.Setup(l => l.Log(It.IsAny <LogLevel>(), It.IsAny <string>())) .Callback <LogLevel, string>((level, message) => { loggedMessage = message; }); var controller = new SumController(loggerMock.Object); ViewResult result = controller.Sum(model) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("3", model.Result); Assert.AreEqual("1, 2, 3", loggedMessage); }
public void EmptyNumbers() { var model = new BigNumbersSumViewModel(); var validationResut = new List <ValidationResult>(); var result = Validator.TryValidateObject(model, new ValidationContext(model, null, null), validationResut, true); Assert.IsTrue(validationResut.Any(vr => vr.ErrorMessage == "The Number1 field is required.")); Assert.IsTrue(validationResut.Any(vr => vr.ErrorMessage == "The Number2 field is required.")); }
public ActionResult Sum(BigNumbersSumViewModel model) { if (ModelState.IsValid) { // Model aready validated, no additional validation needed model.Result = BigNumbersHelper.Sum(model.Number1, model.Number2); logger.Log(LogLevel.Info, $"{model.Number1}, {model.Number2}, {model.Result}"); } return(View(model)); }
public void IncorrectNumbers() { var model = new BigNumbersSumViewModel() { Number2 = "2d", Number1 = "4.3" }; var validationResut = new List <ValidationResult>(); var result = Validator.TryValidateObject(model, new ValidationContext(model, null, null), validationResut, true); Assert.IsTrue(validationResut.Any(vr => vr.ErrorMessage == "Number 1 is not a number")); Assert.IsTrue(validationResut.Any(vr => vr.ErrorMessage == "Number 2 is not a number")); }