diff --git a/SportsStore/SportsStore.UnitTests/UnitTest1.cs b/SportsStore/SportsStore.UnitTests/UnitTest1.cs index 81b00c3..1aa648b 100644 --- a/SportsStore/SportsStore.UnitTests/UnitTest1.cs +++ b/SportsStore/SportsStore.UnitTests/UnitTest1.cs @@ -31,10 +31,9 @@ namespace SportsStore.UnitTests ProductController controller = new ProductController(mock.Object); controller.PageSize = 3; // Act - IEnumerable result = - (IEnumerable)controller.List(2).Model; + ProductsListViewModel result = (ProductsListViewModel)controller.List(2).Model; // Assert - Product[] prodArray = result.ToArray(); + Product[] prodArray = result.Products.ToArray(); Assert.IsTrue(prodArray.Length == 2); Assert.AreEqual(prodArray[0].Name, "P4"); Assert.AreEqual(prodArray[1].Name, "P5"); @@ -66,5 +65,34 @@ namespace SportsStore.UnitTests + @"3", result.ToString()); } + + [TestMethod] + public void Can_Send_Pagination_View_Model() + { + + // Arrange + Mock mock = new Mock(); + mock.Setup(m => m.Products).Returns(new Product[] { + new Product {ProductID = 1, Name = "P1"}, + new Product {ProductID = 2, Name = "P2"}, + new Product {ProductID = 3, Name = "P3"}, + new Product {ProductID = 4, Name = "P4"}, + new Product {ProductID = 5, Name = "P5"} + }); + + // Arrange + ProductController controller = new ProductController(mock.Object); + controller.PageSize = 3; + + // Act + ProductsListViewModel result = (ProductsListViewModel)controller.List(2).Model; + + // Assert + PagingInfo pageInfo = result.PagingInfo; + Assert.AreEqual(pageInfo.CurrentPage, 2); + Assert.AreEqual(pageInfo.ItemsPerPage, 3); + Assert.AreEqual(pageInfo.TotalItems, 5); + Assert.AreEqual(pageInfo.TotalPages, 2); + } } }