public async void TestOpmerking_ModelStateInvalid_ReturnsViewWithModel() { string bericht = "Dit is het bericht"; string onderwerp = "Dummy onderwerp"; OpmerkingViewModel model = new OpmerkingViewModel(onderwerp, bericht); _controller.ModelState.AddModelError("", "Error"); var result = await _controller.Opmerking(model) as ViewResult; var resultModel = result?.Model as OpmerkingViewModel; Assert.Equal(onderwerp, resultModel?.Onderwerp); Assert.Equal(bericht, resultModel?.Bericht); }
public async void TestOpmerking_Succes() { string bericht = "Beste mr. Moens\n\n" + "Als u deze mail krijgt, zijn we onze testen aan het uitvoeren en hebben we per ongeluk " + "een testmail naar u verzeonden...\n" + "Onze excuses voor het ongemak!\n\n" + "Mvg\n" + "Thomas Aelbrecht"; string onderwerp = "Dummy onderwerp"; OpmerkingViewModel model = new OpmerkingViewModel(onderwerp, bericht); _userManager.Setup(u => u.GetUserAsync(It.IsAny <ClaimsPrincipal>())) .Returns(() => Task.FromResult(user)); var result = await _controller.Opmerking(model) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); Assert.Equal("Kairos", result?.ControllerName); }
public async void TestOpmerking_ExceptionGegooid_ReturnsViewWithModel() { string bericht = "Dit is het bericht"; string onderwerp = "Dummy onderwerp"; OpmerkingViewModel model = new OpmerkingViewModel(onderwerp, bericht); _userManager.Setup(u => u.GetUserAsync(It.IsAny <ClaimsPrincipal>())) .Throws(new Exception()); var result = await _controller.Opmerking(model) as ViewResult; var resultModel = result?.Model as OpmerkingViewModel; Assert.Equal(onderwerp, resultModel?.Onderwerp); Assert.Equal(bericht, resultModel?.Bericht); _exceptionLogRepository.Verify(r => r.Add(It.IsAny <ExceptionLog>()), Times.Once); _exceptionLogRepository.Verify(r => r.Save(), Times.Once); }
public async Task <IActionResult> Opmerking(OpmerkingViewModel model) { if (ModelState.IsValid) { try { // de ingelogde jobcoach ophalen var user = await _userManager.GetUserAsync(User); // gegevens jobcoach ophalen string nameJobcoach = user.Voornaam ?? ""; string emailJobcoach = user.Email; // mail verzenden bool mailVerzendenGelukt = await EmailSender.SendMailAdmin(nameJobcoach, emailJobcoach, model.Onderwerp, model.Bericht); if (mailVerzendenGelukt) { // als we hier komen, is alles gelukt TempData["message"] = "Je vraag/opmerking is succesvol verzonden naar administrator. Deze zal zo snel mogelijk contact opnemen met jou."; return(RedirectToAction(nameof(Index), "Kairos")); } else { TempData["error"] = "De opmerking kan momenteel niet verzonden worden, probeer het later opnieuw."; } } catch (Exception e) { _exceptionLogRepository.Add(new ExceptionLog(e, "Kairos", "Opmerking")); _exceptionLogRepository.Save(); // er is iets fout gelopen, ga verder en toon de pagina opnieuw TempData["error"] = "Er is onverwacht iets fout gelopen, onze excuses voor het ongemak! " + "Probeer het later opnieuw."; } } // als we hier komen, is er iets mislukt, we tonen de pagina opnieuw return(View(model)); }
public IActionResult Opmerking() { OpmerkingViewModel model = new OpmerkingViewModel(); return(View(model)); }