Exemplo n.º 1
0
        public void Paginate_Tes()
        {
            // Arrange
            Mock <ICategoriesRepository> category = new Mock <ICategoriesRepository>();

            category.Setup(m => m.Categories).Returns(new[]
            {
                new Category
                {
                    CategoryId   = 1,
                    CategoryName = "Cat1",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 2,
                    CategoryName = "Cat2",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 3,
                    CategoryName = "Cat3",
                    Lots         = new List <Lot>()
                }
            }.AsQueryable());
            Mock <ILotsRepository> mock = new Mock <ILotsRepository>();

            mock.Setup(m => m.Lots).Returns(new[] {
                new Lot {
                    LotID = 1, Name = "P1", IsCompleted = false
                },
                new Lot {
                    LotID = 2, Name = "P2", IsCompleted = false
                },
                new Lot {
                    LotID = 3, Name = "P3", IsCompleted = false
                },
                new Lot {
                    LotID = 4, Name = "P4", IsCompleted = false
                },
            }.AsQueryable());
            LotsController controller = new LotsController(mock.Object, category.Object)
            {
                PageSize = 3
            };

            // Act
            LotsListViewModel result = (LotsListViewModel)controller.List(null, 2).Model;

            //Assert
            Lot[] prodArray = result.Lots.ToArray();
            Assert.IsTrue(prodArray.Length == 1);
            Assert.AreEqual(prodArray[0].Name, "P4");
        }
Exemplo n.º 2
0
        public void ListView_Model()
        {
            // Arrange
            Mock <ICategoriesRepository> category = new Mock <ICategoriesRepository>();

            category.Setup(m => m.Categories).Returns(new[]
            {
                new Category
                {
                    CategoryId   = 1,
                    CategoryName = "Cat1",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 2,
                    CategoryName = "Cat2",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 3,
                    CategoryName = "Cat3",
                    Lots         = new List <Lot>()
                }
            }.AsQueryable());

            Mock <ILotsRepository> mock = new Mock <ILotsRepository>();

            mock.Setup(m => m.Lots).Returns(new Lot[]
            {
                new Lot {
                    LotID = 1, Name = "P1"
                },
                new Lot {
                    LotID = 2, Name = "P2"
                },
                new Lot {
                    LotID = 3, Name = "P3"
                },
                new Lot {
                    LotID = 4, Name = "P4"
                },
                new Lot {
                    LotID = 5, Name = "P5"
                }
            }.AsQueryable());


            LotsController controller = new LotsController(mock.Object, category.Object);

            controller.PageSize = 3;

            // Act
            LotsListViewModel result = (LotsListViewModel)controller.List(null, 2).Model;

            // Assert
            PageModel pageInfo = result.PageModel;

            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 5);
            Assert.AreEqual(pageInfo.TotalPages, 2);
        }
Exemplo n.º 3
0
        public void Filter_Lots_Test()
        {
            // Arrange
            Mock <ICategoriesRepository> category = new Mock <ICategoriesRepository>();

            category.Setup(m => m.Categories).Returns(new[]
            {
                new Category
                {
                    CategoryId   = 1,
                    CategoryName = "Cat1",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 2,
                    CategoryName = "Cat2",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 3,
                    CategoryName = "Cat3",
                    Lots         = new List <Lot>()
                }
            }.AsQueryable());
            Mock <ILotsRepository> mock = new Mock <ILotsRepository>();

            mock.Setup(m => m.Lots).Returns(new[]
            {
                new Lot {
                    LotID = 1, Name = "P1", Category = category.Object.Categories.ToList()[0]
                },
                new Lot {
                    LotID = 2, Name = "P2", Category = category.Object.Categories.ToList()[1]
                },
                new Lot {
                    LotID = 3, Name = "P3", Category = category.Object.Categories.ToList()[0]
                },
                new Lot {
                    LotID = 4, Name = "P4", Category = category.Object.Categories.ToList()[1]
                },
                new Lot {
                    LotID = 5, Name = "P5", Category = category.Object.Categories.ToList()[2]
                }
            }.AsQueryable());

            category.Object.Categories.ToList()[1].Lots.Add(mock.Object.Lots.ToList()[1]);
            category.Object.Categories.ToList()[1].Lots.Add(mock.Object.Lots.ToList()[3]);

            LotsController controller = new LotsController(mock.Object, category.Object)
            {
                PageSize = 3
            };

            // Action
            Lot[] result = ((LotsListViewModel)controller.List(2, 1).Model).Lots.ToArray();

            // Assert
            Assert.AreEqual(result.Length, 2);
            Assert.IsTrue(result[0].Name == "P2" && result[0].Category.CategoryName == "Cat2");
            Assert.IsTrue(result[1].Name == "P4" && result[1].Category.CategoryName == "Cat2");
        }
Exemplo n.º 4
0
        public void Lot_Count_Test()
        {
            // Arrange
            // - create the mock repository
            // Arrange
            Mock <ICategoriesRepository> category = new Mock <ICategoriesRepository>();

            category.Setup(m => m.Categories).Returns(new[]
            {
                new Category
                {
                    CategoryId   = 1,
                    CategoryName = "Cat1",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 2,
                    CategoryName = "Cat2",
                    Lots         = new List <Lot>()
                },
                new Category
                {
                    CategoryId   = 3,
                    CategoryName = "Cat3",
                    Lots         = new List <Lot>()
                }
            }.AsQueryable());
            Mock <ILotsRepository> mock = new Mock <ILotsRepository>();

            mock.Setup(m => m.Lots).Returns(new[]
            {
                new Lot {
                    LotID = 1, Name = "P1", Category = category.Object.Categories.ToList()[0], IsCompleted = false
                },
                new Lot {
                    LotID = 2, Name = "P2", Category = category.Object.Categories.ToList()[1], IsCompleted = false
                },
                new Lot {
                    LotID = 3, Name = "P3", Category = category.Object.Categories.ToList()[0], IsCompleted = false
                },
                new Lot {
                    LotID = 4, Name = "P4", Category = category.Object.Categories.ToList()[1], IsCompleted = false
                },
                new Lot {
                    LotID = 5, Name = "P5", Category = category.Object.Categories.ToList()[2], IsCompleted = false
                }
            }.AsQueryable());
            category.Object.Categories.ToList()[0].Lots.Add(mock.Object.Lots.ToList()[0]);
            category.Object.Categories.ToList()[1].Lots.Add(mock.Object.Lots.ToList()[1]);
            category.Object.Categories.ToList()[0].Lots.Add(mock.Object.Lots.ToList()[2]);
            category.Object.Categories.ToList()[1].Lots.Add(mock.Object.Lots.ToList()[3]);
            category.Object.Categories.ToList()[2].Lots.Add(mock.Object.Lots.ToList()[4]);
            // Arrange - create a controller and make the page size 3 items
            LotsController target = new LotsController(mock.Object, category.Object);

            target.PageSize = 3;

            // Action - test the Lot counts for different categories
            int res1 = ((LotsListViewModel)target
                        .List(1).Model).PageModel.TotalItems;
            int res2 = ((LotsListViewModel)target
                        .List(2).Model).PageModel.TotalItems;
            int res3 = ((LotsListViewModel)target
                        .List(3).Model).PageModel.TotalItems;
            int resAll = ((LotsListViewModel)target
                          .List(0).Model).PageModel.TotalItems;

            // Assert
            Assert.AreEqual(res1, 2);
            Assert.AreEqual(res2, 2);
            Assert.AreEqual(res3, 1);
            Assert.AreEqual(resAll, 5);
        }