public void TestBewerk_ModelError_RedirectsToIndex() { _controller.ModelState.AddModelError("", "Model error"); LoonkostViewModel model = new LoonkostViewModel(); var result = _controller.Bewerk(_analyse, model) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); }
public void TestBewerk_RepoGooitException_RedirectsToIndex() { _analyseRepository.Setup(r => r.Save()).Throws(new Exception()); LoonkostViewModel model = new LoonkostViewModel { Id = 1 }; var result = _controller.Bewerk(_analyse, model) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); _exceptionLogRepository.Verify(r => r.Add(It.IsAny <ExceptionLog>()), Times.Once); _exceptionLogRepository.Verify(r => r.Save(), Times.Once); }
public IActionResult Bewerk(Analyse analyse, LoonkostViewModel model) { try { analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.Loonkost); Loonkost kost = KostOfBaatExtensions.GetBy(analyse.Loonkosten, model.Id); DecimalConverter dc = new DecimalConverter(); if (ModelState.IsValid && kost != null) { kost.Id = model.Id; kost.Beschrijving = model.Beschrijving; kost.AantalUrenPerWeek = model.AantalUrenPerWeek; kost.BrutoMaandloonFulltime = dc.ConvertToDecimal(model.BrutoMaandloonFulltime); kost.Doelgroep = _doelgroepRepository.GetById(model.Doelgroep.DoelgroepId); kost.Ondersteuningspremie = model.Ondersteuningspremie; kost.AantalMaandenIBO = model.AantalMaandenIBO; kost.IBOPremie = dc.ConvertToDecimal(model.IBOPremie); if (kost.Doelgroep == null) { TempData["error"] = "Opgelet! U heeft nog geen doelgroep geselecteerd. Er zal dus nog geen resultaat " + "berekend worden bij deze kost."; } analyse.DatumLaatsteAanpassing = DateTime.Now; _analyseRepository.Save(); TempData["message"] = Meldingen.OpslaanSuccesvolKost; } } catch (Exception e) { if (e is ArgumentException || e is FormatException) { ModelState.AddModelError("", e.Message); } else { _exceptionLogRepository.Add(new ExceptionLog(e, "LoonKosten", "Bewerk -- GET --")); _exceptionLogRepository.Save(); TempData["error"] = Meldingen.OpslaanFoutmeldingKost; return(RedirectToAction("Index")); } } return(RedirectToAction("Index")); }
public void TestBewerk_Succes_RedirectsToIndex() { LoonkostViewModel model = new LoonkostViewModel { Id = 1, Type = Type.Kost, Soort = Soort.Loonkost, BrutoMaandloonFulltime = "" + 1800, AantalUrenPerWeek = 37, Doelgroep = new Doelgroep(Laaggeschoold, 2500M, 1550M), Ondersteuningspremie = 20, AantalMaandenIBO = 2, IBOPremie = "" + 564.0M }; var result = _controller.Bewerk(_analyse, model) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); }