public void Detaljer_feil_logget_inn_undefined()
        {
            //Arrange
            var controller = new SkoAdminController(new SkoBLL(new DbSkoStub()), new AttributtBLL(new DbAttributterStub()));
            var SessionMock = new TestControllerBuilder();
            SessionMock.InitializeController(controller);

            //Act
            var resultat = (RedirectToRouteResult)controller.Detaljer(1);

            //Assert
            Assert.AreEqual(resultat.RouteName, "");
            Assert.AreEqual(resultat.RouteValues.Values.Last(), "Nettbutikk");
        }
        public void Detaljer_Feil_Db_get()
        {
            //Arrange
            var controller = new SkoAdminController(new SkoBLL(new DbSkoStub()), new AttributtBLL(new DbAttributterStub()));
            var SessionMock = new TestControllerBuilder();
            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            //Act
            var resultat = (ViewResult)controller.Detaljer(0);
            var resultatListe = (Skoen)resultat.Model;

            //Assert
            Assert.AreEqual(resultat.ViewName, "");
            Assert.AreEqual(null, resultatListe);
        }
        public void Detaljer_Ok_get()
        {
            //Arrange
            var controller = new SkoAdminController(new SkoBLL(new DbSkoStub()), new AttributtBLL(new DbAttributterStub()));
            var SessionMock = new TestControllerBuilder();
            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;
            var forventetResultat = new Skoen
            {
                skoId = 1,
                navn = "B&CO 2455100311",
                beskrivelse = "Tøff B&CO damesko med lisser. Skoen er i tekstil med små metall nitter. Den har sort kantbånd rundt lisser stykket og langs kanten. Skoen er sort med brune flammer. Den har canvas dekksåle og canvas fôr. Gummisålen er tofarget hvit og sort.",
                merke = "B&CO",
                farge = "Sort",
                forHvem = "Dame",
                kategori = "Sko",
                pris = 499.00M,
                storlekar = new List<Storlek>
                        {
                            new Storlek { storlekId = 1, storlek = 36, antall = 10 },
                            new Storlek { storlekId = 2, storlek = 37, antall = 11 },
                            new Storlek { storlekId = 3, storlek = 38, antall = 12 },
                            new Storlek { storlekId = 4, storlek = 39, antall = 13 },
                            new Storlek { storlekId = 5, storlek = 40, antall = 14 },
                            new Storlek { storlekId = 6, storlek = 41, antall = 15 }
                        },
                bilder = new List<Bilde>
                        {
                            new Bilde { bildeId = 1, bildeUrl = "bilde1.jpg" },
                            new Bilde { bildeId = 2, bildeUrl = "bilde2.jpg" },
                            new Bilde { bildeId = 3, bildeUrl = "bilde3.jpg" },
                        }
            };

            //Act
            var resultat = (ViewResult)controller.Detaljer(1);
            var resultatListe = (Skoen)resultat.Model;

            //Assert
            Assert.AreEqual(resultat.ViewName, "");
            Assert.AreEqual(forventetResultat.skoId, resultatListe.skoId);
            Assert.AreEqual(forventetResultat.navn, resultatListe.navn);
            Assert.AreEqual(forventetResultat.merke, resultatListe.merke);
            Assert.AreEqual(forventetResultat.forHvem, resultatListe.forHvem);
            Assert.AreEqual(forventetResultat.kategori, resultatListe.kategori);
            Assert.AreEqual(forventetResultat.farge, resultatListe.farge);
            Assert.AreEqual(forventetResultat.beskrivelse, resultatListe.beskrivelse);
            Assert.AreEqual(forventetResultat.pris, resultatListe.pris);
            for (var i = 0; i < resultatListe.bilder.Count; ++i) {
                Assert.AreEqual(forventetResultat.bilder[i].bildeId, resultatListe.bilder[i].bildeId);
                Assert.AreEqual(forventetResultat.bilder[i].bildeUrl, resultatListe.bilder[i].bildeUrl);
            }
            for (var i = 0; i < resultatListe.storlekar.Count; ++i)
            {
                Assert.AreEqual(forventetResultat.storlekar[i].storlekId, resultatListe.storlekar[i].storlekId);
                Assert.AreEqual(forventetResultat.storlekar[i].storlek, resultatListe.storlekar[i].storlek);
                Assert.AreEqual(forventetResultat.storlekar[i].antall, resultatListe.storlekar[i].antall);
            }
        }