public void ValidKentekensTrue() { // Arrange var invalidKentekens = new[] { "11-AA-BB", "01-02-AA", "01-BBB-ZZ", "01-A-BZA" }; var defaultApkAanvraag = new ApkAanvraagViewModel { Kilometerstand = 100, EigenaarAuto = "Max", VoertuigType = "personenauto" }; bool modelStateIsValid = true; // Act foreach (var invalidKenteken in invalidKentekens) { // Update to new faulty kenteken defaultApkAanvraag.Kenteken = invalidKenteken; var context = new ValidationContext(defaultApkAanvraag, null, null); var results = new List <ValidationResult>(); var isModelStateValid = Validator.TryValidateObject(defaultApkAanvraag, context, results, true); if (!isModelStateValid) { modelStateIsValid = false; break; } } // Assert Assert.IsTrue(modelStateIsValid); }
public void SendApkAanvraagWithErrorsReturnsViewResult() { var webConfigMock = new Mock <IOptions <WebAppConfig> >(MockBehavior.Strict); // Arrange var loggerMock = new Mock <ILogService>(MockBehavior.Strict); loggerMock.Setup(x => x.Log(It.IsAny <LogMessage>())); loggerMock.Setup(x => x.LogException(It.IsAny <LogMessage>())); using (var repo = new OnderhoudsopdrachtenRepository(new GarageAdministratieContext(_options))) { var target = new ApkController(_rdwIntegrationServiceAgent, repo, loggerMock.Object, webConfigMock.Object); target.ModelState.AddModelError("error", "custom error"); var model = new ApkAanvraagViewModel(); model.EigenaarAuto = "Max"; // Act var result = target.SendApkAanvraag(model); // Assert Assert.IsNotNull(result); Assert.IsNotNull((result as ViewResult).Model); Assert.AreEqual(model.EigenaarAuto, ((result as ViewResult).Model as ApkAanvraagViewModel).EigenaarAuto); loggerMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never()); loggerMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never()); } }
public void SendApkAanvraagFailingAgentMessageResult() { var webConfigMock = new Mock <IOptions <WebAppConfig> >(MockBehavior.Strict); webConfigMock.Setup(x => x.Value).Returns(new WebAppConfig()); // Arrange var loggerMock = new Mock <ILogService>(MockBehavior.Strict); loggerMock.Setup(x => x.Log(It.IsAny <LogMessage>())); loggerMock.Setup(x => x.LogException(It.IsAny <LogMessage>())); using (var repo = new OnderhoudsopdrachtenRepository(new GarageAdministratieContext(_options))) { var target = new ApkController(_rdwIntegrationServiceExceptionAgent, repo, loggerMock.Object, webConfigMock.Object); var model = new ApkAanvraagViewModel(); model.EigenaarAuto = "Max"; // Act var result = target.SendApkAanvraag(model); // Assert Assert.IsNotNull(result); Assert.IsNotNull((result as ViewResult).Model); Assert.IsNotNull(target.ViewData["FeedbackMessage"]); Assert.AreEqual((string)target.ViewData["FeedbackMessage"], "Sorry, de service is op dit niet beschikbaar. Probeer het later opnieuw."); Assert.AreEqual(model.EigenaarAuto, ((result as ViewResult).Model as ApkAanvraagViewModel).EigenaarAuto); loggerMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never()); loggerMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Once()); } }
public void EmptyInvalidModelModelStateFalse() { // Arrange var model = new ApkAanvraagViewModel(); var context = new ValidationContext(model, null, null); var results = new List <ValidationResult>(); // Act var isModelStateValid = Validator.TryValidateObject(model, context, results, true); // Assert Assert.IsFalse(isModelStateValid); }
private ApkKeuringsVerzoekCommand CreateApkKeuringsVerzoekCommand(ApkAanvraagViewModel apkAanvraag) { var apkKeuringsVerzoekCommand = new ApkKeuringsVerzoekCommand() { OnderhoudsBeurtId = apkAanvraag.OndehoudsopdrachtId, Kenteken = apkAanvraag.Kenteken, Kilometerstand = apkAanvraag.Kilometerstand, EigenaarNaam = apkAanvraag.EigenaarAuto, VoertuigType = apkAanvraag.VoertuigType, KeuringsDatum = DateTime.UtcNow, KeuringsinstantieKvkNummer = _settings.Value.KvkNummer, KeuringsinstantieType = _settings.Value.InstantieType, Bedrijfsnaam = _settings.Value.BedrijfsNaam, BedrijfPlaats = _settings.Value.BedrijfsPlaats }; return(apkKeuringsVerzoekCommand); }
public void InvalidKentekenModelStateFalse() { // Arrange var defaultApkAanvraag = new ApkAanvraagViewModel { Kenteken = "", Kilometerstand = 100, EigenaarAuto = "Max", VoertuigType = "personenauto" }; var context = new ValidationContext(defaultApkAanvraag, null, null); var results = new List <ValidationResult>(); // Act var modelStateIsValid = Validator.TryValidateObject(defaultApkAanvraag, context, results, true); // Assert Assert.IsFalse(modelStateIsValid); }
public void InvalidVoertuigTypeModelStateFalse() { // Arrange var model = new ApkAanvraagViewModel { Kenteken = "11-AA-22", Kilometerstand = 100, EigenaarAuto = "Max", VoertuigType = "motorboot" }; var context = new ValidationContext(model, null, null); var results = new List <ValidationResult>(); // Act var isModelStateValid = Validator.TryValidateObject(model, context, results, true); // Assert Assert.IsFalse(isModelStateValid); }
/// <summary> /// Default Index page for controller /// </summary> /// <param name="apkAanvraag"></param> /// <returns></returns> public IActionResult Index(long onderhoudsopdrachtId) { var model = new ApkAanvraagViewModel(); // If OnderhoudsopdrachtId was passed, check if we can find it and use it to fill form in advance var opdrachtExists = _onderhoudsopdrachtRepository.Exists(onderhoudsopdrachtId); if (!opdrachtExists) { return(RedirectToAction("Index", "Onderhoudsopdrachten")); } var opdracht = _onderhoudsopdrachtRepository.Find(onderhoudsopdrachtId); model = new ApkAanvraagViewModel() { OndehoudsopdrachtId = opdracht.OnderhoudsId, Kenteken = opdracht.Kenteken, Kilometerstand = opdracht.Kilometerstand, EigenaarAuto = opdracht.Bestuuder }; return(View(model)); }
public IActionResult SendApkAanvraag(ApkAanvraagViewModel apkAanvraag) { // Validate ApkAanvraag ViewModel if (!ModelState.IsValid) { return(View("Index", apkAanvraag)); } // ModelState is valid var apkKeuringsVerzoekCommand = CreateApkKeuringsVerzoekCommand(apkAanvraag); object keuringsVerzoekResult; try { keuringsVerzoekResult = _rdwIntegrationServiceAgent.MakeApkRequest(apkKeuringsVerzoekCommand); } catch (Exception ex) { _logger.LogException(new LogMessage(ex.Message, ex.StackTrace)); ViewData["FeedbackMessage"] = "Sorry, de service is op dit niet beschikbaar. Probeer het later opnieuw."; return(View("Index", apkAanvraag)); } if (!(keuringsVerzoekResult is KeuringsVerzoekAntwoord)) { return(RedirectToAction("Index", apkAanvraag)); } KeuringsVerzoekAntwoord keuringsVerzoekAntwoord = (KeuringsVerzoekAntwoord)keuringsVerzoekResult; if (keuringsVerzoekAntwoord.IsSteekProef == true) { var steekProefViewModel = new SteekproefViewModel(keuringsVerzoekAntwoord.SteepkProefDate); return(View("SteekProef", steekProefViewModel)); } return(View("AutoAfgemeld")); }