diff --git a/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj b/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj index 4751b83..842e785 100644 --- a/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj +++ b/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj @@ -39,22 +39,67 @@ 4 + + ..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll + ..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll ..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + + ..\packages\Moq.4.16.1\lib\net45\Moq.dll + + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll + + + ..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll + + + ..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll + + + + + {cfedebcd-de26-4a14-8cf2-95f735b1bb12} + SportsStore.Domain + + + {d823ec39-331c-4734-92e5-325a37a682ca} + SportsStore.WebUI + + diff --git a/SportsStore/SportsStore.UnitTests/UnitTest1.cs b/SportsStore/SportsStore.UnitTests/UnitTest1.cs index ef6f907..184af80 100644 --- a/SportsStore/SportsStore.UnitTests/UnitTest1.cs +++ b/SportsStore/SportsStore.UnitTests/UnitTest1.cs @@ -1,5 +1,11 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; +using Moq; +using SportsStore.Domain.Abstract; +using SportsStore.Domain.Entities; +using SportsStore.WebUI.Controllers; using System; +using System.Collections.Generic; +using System.Linq; namespace SportsStore.UnitTests { @@ -7,8 +13,32 @@ namespace SportsStore.UnitTests public class UnitTest1 { [TestMethod] - public void TestMethod1() + public void Can_Paginate() { + // Arrange + // - create the mock repository + 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"} + }.AsQueryable()); + + // create a controller and make the page size 3 items + ProductController controller = new ProductController(mock.Object); + controller.PageSize = 3; + + // Action + IEnumerable result = (IEnumerable)controller.List(2).Model; + + // Assert + Product[] prodArray = result.ToArray(); + Assert.IsTrue(prodArray.Length == 2); + Assert.AreEqual(prodArray[0].Name, "P4"); + Assert.AreEqual(prodArray[1].Name, "P5"); } + } } diff --git a/SportsStore/SportsStore.UnitTests/app.config b/SportsStore/SportsStore.UnitTests/app.config new file mode 100644 index 0000000..33cac80 --- /dev/null +++ b/SportsStore/SportsStore.UnitTests/app.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SportsStore/SportsStore.UnitTests/packages.config b/SportsStore/SportsStore.UnitTests/packages.config index e3b8948..e23eec9 100644 --- a/SportsStore/SportsStore.UnitTests/packages.config +++ b/SportsStore/SportsStore.UnitTests/packages.config @@ -1,5 +1,13 @@  + + + + + + + + \ No newline at end of file