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);
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        public IActionResult Opmerking()
        {
            OpmerkingViewModel model = new OpmerkingViewModel();

            return(View(model));
        }