From 002318dd2da77bd718dd57e1abe2820cf1151228 Mon Sep 17 00:00:00 2001 From: Jason Zhu Date: Sat, 21 Aug 2021 17:10:54 +1000 Subject: [PATCH] 7.5.1.2 Adding the HTML Helper Method; UNIT TEST: CREATING PAGE LINKS --- .../SportsStore.UnitTests.csproj | 1 + .../SportsStore.UnitTests/UnitTest1.cs | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) 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 class=""selected"" +href=""Page2"">23"); + } + } }