コード例 #1
0
        public void ForfatterListe_vis_View()
        {
            var SessionMock = new TestControllerBuilder();

            var controller = new AdminController(new AdminBLL(new AdminRepositoryStub()));

            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            var forventetResultat = new List <Forfatteren>();
            var forfatter         = new Forfatteren()
            {
                ForfatterId = 0,
                Navn        = "Sofia Aittamaa",
            };

            forventetResultat.Add(forfatter);
            forventetResultat.Add(forfatter);
            forventetResultat.Add(forfatter);

            //act
            var actionResult = (ViewResult)controller.hentForfattere();
            var resultat     = (List <Forfatteren>)actionResult.Model;

            //assert

            Assert.AreEqual(actionResult.ViewName, "");

            for (var i = 0; i < resultat.Count; i++)
            {
                Assert.AreEqual(forventetResultat[i].ForfatterId, resultat[i].ForfatterId);
                Assert.AreEqual(forventetResultat[i].Navn, resultat[i].Navn);
            }
        }
コード例 #2
0
        public ActionResult SlettForfatter(int id, Forfatteren slettForfatter)
        {
            bool slettOK = _adminBLL.slettForfatter(id);

            if (slettOK)
            {
                return(RedirectToAction("hentForfattere"));
            }
            return(View());
        }
コード例 #3
0
 public bool settInnForfatter(Forfatteren innForfatter)
 {
     if (innForfatter.Navn == "")
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
コード例 #4
0
 public bool endreForfatter(int id, Forfatteren innForfatter)
 {
     if (id == 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
コード例 #5
0
 public ActionResult EndreForfatter(int id, Forfatteren endreForfatter)
 {
     if (ModelState.IsValid)
     {
         bool endringOK = _adminBLL.endreForfatter(id, endreForfatter);
         if (endringOK)
         {
             return(RedirectToAction("hentForfattere"));
         }
     }
     return(View());
 }
コード例 #6
0
 public ActionResult registrerForfatter(Forfatteren innForfatter)
 {
     if (ModelState.IsValid)
     {
         bool insertOK = _adminBLL.settInnForfatter(innForfatter);
         if (insertOK)
         {
             return(RedirectToAction("hentForfattere"));
         }
     }
     return(View());
 }
コード例 #7
0
        public List <Forfatteren> hentForfattere()
        {
            var forfatterListe = new List <Forfatteren>();
            var forfatter      = new Forfatteren()
            {
                Navn = "Sofia Aittamaa",
            };

            forfatterListe.Add(forfatter);
            forfatterListe.Add(forfatter);
            forfatterListe.Add(forfatter);
            return(forfatterListe);
        }
コード例 #8
0
        public ActionResult SlettForfatter(int id)
        {
            if (Session["AdminLoggetInn"] != null)
            {
                bool loggetInn = (bool)Session["AdminLoggetInn"];

                if (loggetInn)
                {
                    Forfatteren enForfatter = _adminBLL.hentEnForfatter(id);
                    return(View(enForfatter));
                }
            }
            return(RedirectToAction("Index"));
        }
コード例 #9
0
        public void EndreForfatter_ikke_funnet_Post()
        {
            // Arrange
            var controller   = new AdminController(new AdminBLL(new AdminRepositoryStub()));
            var innForfatter = new Forfatteren()
            {
                Navn = "Sofia Aittamaa",
            };

            // Act
            var actionResult = (ViewResult)controller.EndreForfatter(0, innForfatter);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
        }
コード例 #10
0
        public void EndreForfatter_funnet()
        {
            // Arrange
            var controller   = new AdminController(new AdminBLL(new AdminRepositoryStub()));
            var innForfatter = new Forfatteren()
            {
                Navn = "Sofia Aittamaa"
            };
            // Act
            var actionResultat = (RedirectToRouteResult)controller.EndreForfatter(1, innForfatter);

            // Assert
            Assert.AreEqual(actionResultat.RouteName, "");
            Assert.AreEqual(actionResultat.RouteValues.Values.First(), "hentForfattere");
        }
コード例 #11
0
        public void EndreForfatter_feil_validering_Post()
        {
            // Arrange
            var controller   = new AdminController(new AdminBLL(new AdminRepositoryStub()));
            var innForfatter = new Forfatteren();

            controller.ViewData.ModelState.AddModelError("feil", "Navn = Ida Aittamaa");

            // Act
            var actionResult = (ViewResult)controller.EndreForfatter(0, innForfatter);

            // Assert
            Assert.IsTrue(actionResult.ViewData.ModelState.Count == 1);
            Assert.AreEqual(actionResult.ViewData.ModelState["feil"].Errors[0].ErrorMessage, "Navn = Ida Aittamaa");
            Assert.AreEqual(actionResult.ViewName, "");
        }
コード例 #12
0
 public Forfatteren hentEnForfatter(int id)
 {
     if (id == 0)
     {
         var forfattere = new Forfatteren();
         forfattere.ForfatterId = 0;
         return(forfattere);
     }
     else
     {
         var forfattere = new Forfatteren()
         {
             ForfatterId = 100,
             Navn        = "Sofia Aittamaa",
         };
         return(forfattere);
     }
 }
コード例 #13
0
        public void registrerForfatter_Post_DB_feil()
        {
            var SessionMock = new TestControllerBuilder();

            var controller = new AdminController(new AdminBLL(new AdminRepositoryStub()));

            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            var forventetForfatter = new Forfatteren();

            forventetForfatter.Navn = "";

            // Act
            var actionResult = (ViewResult)controller.registrerForfatter(forventetForfatter);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
        }
コード例 #14
0
        public Forfatteren hentEnForfatter(int id)
        {
            var db = new BokerContext();

            var enDbForfatter = db.Forfattere.Find(id);

            if (enDbForfatter == null)
            {
                return(null);
            }
            else
            {
                var utForfatter = new Forfatteren()
                {
                    ForfatterId = enDbForfatter.ForfatterId,
                    Navn        = enDbForfatter.Navn
                };
                return(utForfatter);
            }
        }
コード例 #15
0
        public void registrerForfatter_Post_Model_feil()
        {
            var SessionMock = new TestControllerBuilder();

            var controller = new AdminController(new AdminBLL(new AdminRepositoryStub()));

            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            var forventetForfatter = new Forfatteren();

            controller.ViewData.ModelState.AddModelError("Navn", "Ikke oppgitt navn");

            // Act
            var actionResult = (ViewResult)controller.registrerForfatter(forventetForfatter);

            // Assert
            Assert.IsTrue(actionResult.ViewData.ModelState.Count == 1);
            Assert.AreEqual(actionResult.ViewName, "");
        }
コード例 #16
0
        public void registrerForfatter_Post_OK()
        {
            var SessionMock = new TestControllerBuilder();

            var controller = new AdminController(new AdminBLL(new AdminRepositoryStub()));

            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            var forventetForfatter = new Forfatteren()
            {
                Navn = "Sofia Aittamaa",
            };
            // Act
            var result = (RedirectToRouteResult)controller.registrerForfatter(forventetForfatter);

            // Assert
            Assert.AreEqual(result.RouteName, "");
            Assert.AreEqual(result.RouteValues.Values.First(), "hentForfattere");
        }
コード例 #17
0
        public void SlettForfatter_ikke_funnet_Post()
        {
            var SessionMock = new TestControllerBuilder();

            var controller = new AdminController(new AdminBLL(new AdminRepositoryStub()));

            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            var innForfatter = new Forfatteren()
            {
                Navn = "Sofia Aittamaa"
            };

            // Act
            var actionResult = (ViewResult)controller.SlettForfatter(0, innForfatter);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
        }
コード例 #18
0
        public bool settInnForfatter(Forfatteren innForfatter)
        {
            var nyForfatter = new Forfatter()
            {
                Navn = innForfatter.Navn,
            };

            var db = new BokerContext();

            try
            {
                db.Forfattere.Add(nyForfatter);
                db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return(false);
            }
        }
コード例 #19
0
        public bool endreForfatter(int id, Forfatteren innForfatter)
        {
            BokerContext db = new BokerContext();

            try
            {
                var forfatterSomSkalEndres = db.Forfattere.FirstOrDefault(p => p.ForfatterId == innForfatter.ForfatterId);

                if (forfatterSomSkalEndres == null)
                {
                    return(false);
                }

                forfatterSomSkalEndres.Navn = innForfatter.Navn;

                db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return(false);
            }
        }
コード例 #20
0
 public bool settInnForfatter(Forfatteren innForfatter)
 {
     return(_repository.settInnForfatter(innForfatter));
 }
コード例 #21
0
 public bool endreForfatter(int id, Forfatteren innForfatter)
 {
     return(_repository.endreForfatter(id, innForfatter));
 }