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