コード例 #1
0
        public void LeggInn()
        {
            var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()),
                new KategoriLogikk(new KategoriRepositoryStub()));
            var sessionMock = new TestControllerBuilder();
            sessionMock.InitializeController(controller);

            controller.Session["AdminInnlogget"] = true;

            //Act

            var actionresult = (ViewResult)controller.LeggInn();

            // Assert

            Assert.AreEqual(actionresult.ViewName, "");
        }
コード例 #2
0
        public void LeggInn_ikke_innlogget()
        {
            //ARRANGE

            var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()));
            var sessionMock = new TestControllerBuilder();
            sessionMock.InitializeController(controller);

            controller.Session["AdminInnlogget"] = false;

            // Act

            var actionResult = (RedirectToRouteResult)controller.Liste();

            // Assert

            Assert.AreEqual(actionResult.RouteName, "");
            Assert.AreEqual(actionResult.RouteValues.Values.ElementAt(0), "Innlogging");
            Assert.AreEqual(actionResult.RouteValues.Values.ElementAt(1), "Admin");
        }
コード例 #3
0
        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");
        }
コード例 #4
0
        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, "");
        }
コード例 #5
0
        public void Slett_ikke_funnet_Post()
        {
            // Arrange
            var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()));
            var innArtikkel = new Artikkel()
            {
                Artikkelnr = 0
            };

            var sessionMock = new TestControllerBuilder();
            sessionMock.InitializeController(controller);
            controller.Session["AdminInnLogget"] = true;

            //ACT
            var actionResult = (ViewResult)controller.Slett(0, innArtikkel);

            //ASSERT
            Assert.AreEqual(actionResult.ViewName, "");
        }
コード例 #6
0
        public void Slettet_funnet_Post()
        {
            // Arrange
            var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()));
            var innArtikkel = new Artikkel()
            {
                Artikkelnr = 1
            };

            var sessionMock = new TestControllerBuilder();
            sessionMock.InitializeController(controller);
            controller.Session["AdminInnLogget"] = true;

            // Act
            var actionResult = (RedirectToRouteResult)controller.Slett(1, innArtikkel);

            // Assert
            Assert.AreEqual(actionResult.RouteName, "");
            Assert.AreEqual(actionResult.RouteValues.Values.First(), "Liste");
        }
コード例 #7
0
        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");
        }
コード例 #8
0
        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, "");
        }
コード例 #9
0
        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, "");
        }
コード例 #10
0
        public void Liste()
        {
            //ARRANGE

            var controller = new ArtikkelController(new ArtikkelLogikk(new ArtikkelRepositoryStub()));
            var sessionMock = new TestControllerBuilder();
            sessionMock.InitializeController(controller);

            controller.Session["AdminInnlogget"] = true;

            var forventetResultat = new List<Artikkel>();

            var mobiltelefoner = new Kategori()
            {
                Navn = "Mobiltelefoner"
            };

            var datautstyr = new Kategori()
            {
                Navn = "Datautstyr"
            };

            forventetResultat.Add(new Artikkel()
            {
                Kategori = mobiltelefoner,
                Beskrivelse = "iPhone 5",
                Pris = 1000,
                AntallPaaLager = 5,
                BildeUrl = "http://i.imgur.com/A9VXpL7.jpg",
                ThumbnailUrl = "http://i.imgur.com/A9VXpL7m.jpg"
            });

            forventetResultat.Add(new Artikkel()
            {
                Kategori = mobiltelefoner,
                Beskrivelse = "Nexus 5",
                Pris = 1300,
                AntallPaaLager = 0,
                BildeUrl = "http://i.imgur.com/3dQ4GRO.jpg",
                ThumbnailUrl = "http://i.imgur.com/3dQ4GROm.jpg"
            });

            forventetResultat.Add(new Artikkel()
            {
                Kategori = datautstyr,
                Beskrivelse = "Logitech Tastatur",
                Pris = 350,
                AntallPaaLager = 5,
                BildeUrl = "http://i.imgur.com/sLkBQnj.jpg",
                ThumbnailUrl = "http://i.imgur.com/sLkBQnjm.jpg"
            });

            // Act

            var actionResult = (ViewResult)controller.Liste();
            var result = (List<Artikkel>)actionResult.Model;

            // Assert

            Assert.AreEqual(actionResult.ViewName, "");
            for (int i = 0; i < result.Count; i++)
            {
                Assert.AreEqual(forventetResultat[i].AntallPaaLager, result[i].AntallPaaLager);
                Assert.AreEqual(forventetResultat[i].Artikkelnr, result[i].Artikkelnr);
                Assert.AreEqual(forventetResultat[i].Beskrivelse, result[i].Beskrivelse);
                Assert.AreEqual(forventetResultat[i].BildeUrl, result[i].BildeUrl);
                Assert.AreEqual(forventetResultat[i].Kategori.Navn, result[i].Kategori.Navn);
                Assert.AreEqual(forventetResultat[i].Kategori.Slettet, result[i].Kategori.Slettet);
                Assert.AreEqual(forventetResultat[i].Pris, result[i].Pris);
                Assert.AreEqual(forventetResultat[i].Slettet, result[i].Slettet);
                Assert.AreEqual(forventetResultat[i].ThumbnailUrl, result[i].ThumbnailUrl);
            }
        }