public ActionResult LeggInn(RedigerArtikkel artikkel) { if (!(bool)Session["AdminInnlogget"]) { return RedirectToAction("Innlogging", "Admin"); } if (!ModelState.IsValid) { return View(); } var thumbnailUrl = Util.LagThumbnailUrl(artikkel.BildeUrl); var kategori = _kategoriLogikk.HentEnKategori(artikkel.KategoriID); var nyArtikkel = new Artikkel() { AntallPaaLager = artikkel.AntallPaaLager, Beskrivelse = artikkel.Beskrivelse, BildeUrl = artikkel.BildeUrl, Pris = artikkel.Pris, ThumbnailUrl = thumbnailUrl, Kategori = kategori }; var ok = _artikkelLogikk.LeggInn(nyArtikkel); if (!ok) { return View(); } return RedirectToAction("Liste"); }
public void LeggInn_POST_ikke_innlogget() { var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()), new KategoriLogikk(new KategoriRepositoryStub())); var sessionMock = new TestControllerBuilder(); sessionMock.InitializeController(controller); controller.Session["AdminInnlogget"] = false; var forventetArtikkel = new RedigerArtikkel(); // Act var actionResult = (RedirectToRouteResult)controller.LeggInn(forventetArtikkel); // Assert Assert.AreEqual(actionResult.RouteName, ""); Assert.AreEqual(actionResult.RouteValues.Values.ElementAt(0), "Innlogging"); Assert.AreEqual(actionResult.RouteValues.Values.ElementAt(1), "Admin"); }
public ActionResult Rediger(int id) { if (!(bool)Session["AdminInnlogget"]) { return RedirectToAction("Innlogging", "Admin"); } var artikkel = _artikkelLogikk.HentEnArtikkel(id); var redigerArtikkel = new RedigerArtikkel() { AntallPaaLager = artikkel.AntallPaaLager, Beskrivelse = artikkel.Beskrivelse, BildeUrl = artikkel.BildeUrl, KategoriID = artikkel.Kategori.ID, Pris = artikkel.Pris }; var kategorier = _kategoriLogikk.HentAlleKategorier(); var kategoriliste = new SelectList(kategorier, "ID", "Navn"); ViewBag.Kategorier = kategorier; return View(redigerArtikkel); }
public void LeggInn_POST_model_feil() { var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()), new KategoriLogikk(new KategoriRepositoryStub())); var sessionMock = new TestControllerBuilder(); sessionMock.InitializeController(controller); controller.Session["AdminInnlogget"] = true; var forventetArtikkel = new RedigerArtikkel(); controller.ViewData.ModelState.AddModelError("Beskrivelse", "Mangler beskrivelse"); // Act var actionResult = (ViewResult)controller.LeggInn(forventetArtikkel); // Assert Assert.IsTrue(actionResult.ViewData.ModelState.Count == 1); Assert.AreEqual(actionResult.ViewName, ""); }
public void Rediger_POST_ok() { //ARRANGE var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()), new KategoriLogikk(new KategoriRepositoryStub())); var sessionMock = new TestControllerBuilder(); sessionMock.InitializeController(controller); controller.Session["AdminInnlogget"] = true; var forventetArtikkel = new RedigerArtikkel() { KategoriID = 1, Beskrivelse = "iPhone 5", Pris = 1000, AntallPaaLager = 5, BildeUrl = "http://i.imgur.com/A9VXpL7.jpg" }; // Act var actionResult = (RedirectToRouteResult)controller.Rediger(1, forventetArtikkel); // Assert Assert.AreEqual(actionResult.RouteName, ""); Assert.AreEqual(actionResult.RouteValues.Values.ElementAt(0), "Liste"); }
public void Rediger_POST_ikke_funnet() { var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()), new KategoriLogikk(new KategoriRepositoryStub())); var sessionMock = new TestControllerBuilder(); sessionMock.InitializeController(controller); controller.Session["AdminInnlogget"] = true; var forventetArtikkel = new RedigerArtikkel() { KategoriID = 0, Beskrivelse = "iPhone 5", Pris = 1000, AntallPaaLager = 5, BildeUrl = "http://i.imgur.com/A9VXpL7.jpg" }; var actionResult = (ViewResult)controller.Rediger(0, forventetArtikkel); Assert.AreEqual(actionResult.ViewName, ""); }
public void Rediger_POST_feil_validering() { var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()), new KategoriLogikk(new KategoriRepositoryStub())); var sessionMock = new TestControllerBuilder(); sessionMock.InitializeController(controller); controller.Session["AdminInnlogget"] = true; var forventetArtikkel = new RedigerArtikkel(); controller.ViewData.ModelState.AddModelError("KategoriID", "Mangler kategori ID"); controller.ViewData.ModelState.AddModelError("Beskrivelse", "Mangler beskrivelse"); controller.ViewData.ModelState.AddModelError("Pris", "Mangler pris"); controller.ViewData.ModelState.AddModelError("BildeUrl", "Mangler Bilde URL"); var resultat = (ViewResult)controller.Rediger(1); Assert.IsTrue(resultat.ViewData.ModelState.Count == 4); Assert.AreEqual(resultat.ViewName, ""); }