public void Rediger_POST_ok_ref_front()
        {
            // Arrange

            var controller = new KategoriController(new KategoriLogikk(new KategoriRepositoryStub()));
            var builder = new TestControllerBuilder();
            builder.InitializeController(controller);

            controller.Session["AdminInnlogget"] = true;
            controller.Request.QueryString.Add("ref", "front");

            var forventetKategori = new Kategori() {
                ID = 1,
                Navn = "Bærbare håndholdte telefoner"
            };

            // Act

            var result = (RedirectToRouteResult)controller.Rediger(1, forventetKategori);

            // Assert

            Assert.AreEqual(result.RouteName, "");
            Assert.AreEqual(result.RouteValues.Values.ElementAt(0), "Liste");
            Assert.AreEqual(result.RouteValues.Values.ElementAt(1), "Katalog");
        }
        public void Rediger_POST_ikke_innlogget()
        {
            // Arrange

            var controller = new KategoriController(new KategoriLogikk(new KategoriRepositoryStub()));
            var builder = new TestControllerBuilder();
            builder.InitializeController(controller);

            controller.Session["AdminInnlogget"] = false;

            var forventetKategori = new Kategori();

            // Act

            var result = (RedirectToRouteResult)controller.Rediger(1, forventetKategori);

            // Assert

            Assert.AreEqual(result.RouteName, "");
            Assert.AreEqual(result.RouteValues.Values.ElementAt(0), "Innlogging");
            Assert.AreEqual(result.RouteValues.Values.ElementAt(1), "Admin");
        }
        public void Rediger_POST_feil_validering()
        {
            // Arrange

            var controller = new KategoriController(new KategoriLogikk(new KategoriRepositoryStub()));
            var builder = new TestControllerBuilder();
            builder.InitializeController(controller);

            controller.Session["AdminInnlogget"] = true;

            var forventetKategori = new Kategori();

            controller.ModelState.AddModelError("ID", "ID er null");
            controller.ModelState.AddModelError("Navn", "Navn er tom");

            // Act

            var result = (ViewResult)controller.Rediger(1, forventetKategori);

            // Assert

            Assert.IsTrue(result.ViewData.ModelState.Count == 2);
            Assert.AreEqual(result.ViewName, "");
        }
        public void Rediger_POST_ikke_funnet()
        {
            // Arrange

            var controller = new KategoriController(new KategoriLogikk(new KategoriRepositoryStub()));
            var builder = new TestControllerBuilder();
            builder.InitializeController(controller);

            controller.Session["AdminInnlogget"] = true;

            var forventetKategori = new Kategori() {
                ID = 0,
                Navn = "Bærbare håndholdte telefoner"
            };

            // Act

            var result = (ViewResult)controller.Rediger(0, forventetKategori);

            // Assert

            Assert.AreEqual(result.ViewName, "");
        }
        public void Rediger()
        {
            // Arrange

            var controller = new KategoriController(new KategoriLogikk(new KategoriRepositoryStub()));
            var builder = new TestControllerBuilder();
            builder.InitializeController(controller);

            controller.Session["AdminInnlogget"] = true;

            // Act

            var result = (ViewResult)controller.Rediger(1);

            // Assert

            Assert.AreEqual(result.ViewName, "");
        }