예제 #1
0
        public void GETEditHappyTest()
        {
            int?id       = 12;
            var expected = new CrossType
            {
                Id   = 12,
                Name = "bananas"
            };

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetCrossType(id.Value)).Returns(expected);

            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Edit(id) as ViewResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Model);
            Assert.IsNotNull(response.Model as CrossType);

            var actual = response.Model as CrossType;

            Assert.AreEqual(expected, actual);
        }
예제 #2
0
        public void GETEditBadIdTest()
        {
            int?id = null;

            var mockRepo   = new Mock <IPlantBreedingRepo>();
            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Edit(id) as HttpStatusCodeResult;

            Assert.IsNotNull(response);
            Assert.IsTrue(response.StatusCode == 400);
        }
예제 #3
0
        public void DetailsBadIdTest()
        {
            int?id = null;

            var mockRepo = new Mock <IPlantBreedingRepo>();
            //mockRepo.Setup(r => r.GetCrossType(id.Value));
            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Details(id) as HttpStatusCodeResult;

            Assert.IsNotNull(response);
            Assert.IsTrue(response.StatusCode == 400);
        }
예제 #4
0
        public void IndexNullTest()
        {
            IEnumerable <CrossType> expected = null;

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetCrossTypes()).Returns(expected);

            var controller = new CrossTypesController(mockRepo.Object);
            var response   = controller.Index() as RedirectToRouteResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.RouteValues);
            Assert.AreEqual("Index", response.RouteValues["action"]);
        }
예제 #5
0
        public void GETDeleteNullTest()
        {
            int?      id       = 12;
            CrossType expected = null;

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetCrossType(id.Value)).Returns(expected);

            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Retire(null, null) as HttpStatusCodeResult;

            Assert.IsNotNull(response);
            Assert.IsTrue(response.StatusCode == 400);
        }
예제 #6
0
        public void POSTEditHappyTest()
        {
            var crossType = new CrossType()
            {
                Id = 12, Name = "Banana"
            };
            var mockRepo = new Mock <IPlantBreedingRepo>();

            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Edit(crossType) as RedirectToRouteResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.RouteValues);
            Assert.AreEqual("IndexByGenus", response.RouteValues["action"]);
        }
예제 #7
0
        public void DetailsNullTest()
        {
            int?      id       = 12;
            CrossType expected = null;

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetCrossType(id.Value)).Returns(expected);

            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Details(id) as HttpNotFoundResult;

            Assert.IsNotNull(response);
            Assert.IsTrue(response.StatusCode == 404);
        }
예제 #8
0
        public void IndexHappyTest()
        {
            var expected = new List <Genus>
            {
                new Genus
                {
                    Id   = 3,
                    Name = "Rubus",
                    DefaultPlantsInRep = 3,
                    VirusLabel1        = "RBDV",
                    VirusLabel2        = "ToRSV",
                    VirusLabel3        = "SNSV",
                    Retired            = false,
                    ExternalId         = null,
                    VirusLabel4        = "BCRV"
                }
            };

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetAllGenera()).Returns(expected);

            var controller = new CrossTypesController(mockRepo.Object);
            var response   = controller.Index() as ViewResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Model as List <Genus>);

            var actual = response.Model as List <Genus>;

            Assert.IsTrue(actual.Count() == expected.Count());
            Assert.IsTrue(Enumerable.SequenceEqual(actual, expected));
            //Assert.AreEqual("Index", response.RouteValues["action"]);

            //response.

            //Assert.IsTrue(actual.Count() == actual.Count());
            //Assert.IsTrue(Enumerable.SequenceEqual(actual, expected));
            ////this unit test is not working properly.
            //Assert.IsTrue(false);
        }
예제 #9
0
        public void GETDeleteHappyTest()
        {
            var expected = new CrossType()
            {
                Id = 12, Name = "Banana"
            };
            var mockRepo = new Mock <IPlantBreedingRepo>();

            var controller = new CrossTypesController(mockRepo.Object);

            var response1 = controller.Create(expected) as RedirectToRouteResult;

            controller.Retire(expected.Id, expected.Id);

            var response2 = controller.Details(expected.Id) as HttpNotFoundResult;

            Assert.IsNotNull(response1);
            Assert.IsNotNull(response1.RouteValues);
            Assert.AreEqual("IndexByGenus", response1.RouteValues["action"]);

            Assert.IsTrue(response2.StatusCode == 404);
        }
예제 #10
0
        public void POSTEditWithBadSessionTest()
        {
            var crossType = new CrossType()
            {
                Id = 12, Name = "Banana"
            };
            var mockRepo = new Mock <IPlantBreedingRepo>();

            var controller = new CrossTypesController(mockRepo.Object);

            controller.ModelState.AddModelError("test", "play them off, keyboard cat");

            var response = controller.Edit(crossType) as ViewResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Model);
            Assert.IsNotNull(response.Model as CrossType);

            var actual = response.Model as CrossType;

            Assert.AreEqual(crossType, actual);
        }
예제 #11
0
        public void POSTDeleteHappyCase()
        {
            int?id        = 12;
            var crossType = new CrossType
            {
                Id   = 12,
                Name = "bananas"
            };
            var genus = new List <Genus>
            {
                new Genus
                {
                    Id   = 3,
                    Name = "Rubus",
                    DefaultPlantsInRep = 3,
                    VirusLabel1        = "RBDV",
                    VirusLabel2        = "ToRSV",
                    VirusLabel3        = "SNSV",
                    Retired            = false,
                    ExternalId         = null,
                    VirusLabel4        = "BCRV"
                }
            };


            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetCrossType(id.Value)).Returns(crossType);
            mockRepo.Setup(r => r.GetAllGenera()).Returns(genus);

            var controller = new CrossTypesController(mockRepo.Object);

            var response = controller.Retire(id, 3) as RedirectToRouteResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.RouteValues);
            Assert.AreEqual("IndexByGenus", response.RouteValues["action"]);
        }