diff --git a/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj b/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj
index 842e785..f4895e4 100644
--- a/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj
+++ b/SportsStore/SportsStore.UnitTests/SportsStore.UnitTests.csproj
@@ -63,6 +63,7 @@
..\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
diff --git a/SportsStore/SportsStore.UnitTests/UnitTest1.cs b/SportsStore/SportsStore.UnitTests/UnitTest1.cs
index 184af80..84305f0 100644
--- a/SportsStore/SportsStore.UnitTests/UnitTest1.cs
+++ b/SportsStore/SportsStore.UnitTests/UnitTest1.cs
@@ -3,9 +3,12 @@ using Moq;
using SportsStore.Domain.Abstract;
using SportsStore.Domain.Entities;
using SportsStore.WebUI.Controllers;
+using SportsStore.WebUI.HtmlHelpers;
+using SportsStore.WebUI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Web.Mvc;
namespace SportsStore.UnitTests
{
@@ -40,5 +43,31 @@ namespace SportsStore.UnitTests
Assert.AreEqual(prodArray[1].Name, "P5");
}
+ [TestMethod]
+ public void Can_Generate_Page_Links()
+ {
+ // Arrange - define an HTML helper - we need to do this
+ // in order to apply the extension method
+ HtmlHelper myHelper = null;
+
+ // Arrange - create PagingInfo data
+ PagingInfo pagingInfo = new PagingInfo
+ {
+ CurrentPage = 2,
+ TotalItems = 28,
+ ItemsPerPage = 10
+ };
+
+ // Arrange - set up the delegate using a lambda expression
+ Func pageUrlDelegate = i => "Page" + i;
+
+ // Act
+ MvcHtmlString result = myHelper.PageLinks(pagingInfo, pageUrlDelegate);
+
+ // Assert
+ Assert.AreEqual(result.ToString(), @" < a href = ""Page1"" > 1 a >< a class=""selected""
+href=""Page2"">23");
+ }
+
}
}