From 7ea467f73dd6d6e166284e5fcf6a1ed40efbadcb Mon Sep 17 00:00:00 2001 From: sornaks Date: Thu, 9 Apr 2015 10:53:39 -0700 Subject: [PATCH] Adding functional test for CacheTagHelper's enabled property. --- .../MvcTagHelpersTest.cs | 19 +++++++++++++++++++ .../Catalog_CacheTagHelperController.cs | 8 ++++++++ .../Views/Catalog_CacheTagHelper/Deals.cshtml | 4 ++++ 3 files changed, 31 insertions(+) create mode 100644 test/WebSites/MvcTagHelpersWebSite/Views/Catalog_CacheTagHelper/Deals.cshtml diff --git a/test/Microsoft.AspNet.Mvc.FunctionalTests/MvcTagHelpersTest.cs b/test/Microsoft.AspNet.Mvc.FunctionalTests/MvcTagHelpersTest.cs index 9071f5d29d..975cc4db83 100644 --- a/test/Microsoft.AspNet.Mvc.FunctionalTests/MvcTagHelpersTest.cs +++ b/test/Microsoft.AspNet.Mvc.FunctionalTests/MvcTagHelpersTest.cs @@ -383,6 +383,25 @@ Products: Laptops (3)"; Assert.Equal(expected3, response4.Trim()); } + [Fact] + public async Task CacheTagHelper_DoesNotCacheIfDisabled() + { + // Arrange + var server = TestHelper.CreateServer(_app, SiteName, _configureServices); + var client = server.CreateClient(); + client.BaseAddress = new Uri("http://localhost"); + + // Act + var response1 = await client.GetStringAsync("/catalog/GetDealPercentage/20?isEnabled=true"); + var response2 = await client.GetStringAsync("/catalog/GetDealPercentage/40?isEnabled=true"); + var response3 = await client.GetStringAsync("/catalog/GetDealPercentage/30?isEnabled=false"); + + // Assert + Assert.Equal("Deal percentage is 20", response1.Trim()); + Assert.Equal("Deal percentage is 20", response2.Trim()); + Assert.Equal("Deal percentage is 30", response3.Trim()); + } + [Theory] [InlineData(null)] [InlineData(true)] diff --git a/test/WebSites/MvcTagHelpersWebSite/Controllers/Catalog_CacheTagHelperController.cs b/test/WebSites/MvcTagHelpersWebSite/Controllers/Catalog_CacheTagHelperController.cs index 7891999779..9d2e9cdc80 100644 --- a/test/WebSites/MvcTagHelpersWebSite/Controllers/Catalog_CacheTagHelperController.cs +++ b/test/WebSites/MvcTagHelpersWebSite/Controllers/Catalog_CacheTagHelperController.cs @@ -80,5 +80,13 @@ namespace MvcTagHelpersWebSite.Controllers ProductsService.UpdateProducts(); return new EmptyResult(); } + + [HttpGet("/catalog/GetDealPercentage/{dealPercentage}")] + public IActionResult Deals(int dealPercentage, bool isEnabled) + { + ViewBag.ProductDealPercentage = dealPercentage; + ViewBag.IsEnabled = isEnabled; + return View(); + } } } diff --git a/test/WebSites/MvcTagHelpersWebSite/Views/Catalog_CacheTagHelper/Deals.cshtml b/test/WebSites/MvcTagHelpersWebSite/Views/Catalog_CacheTagHelper/Deals.cshtml new file mode 100644 index 0000000000..efa0eb4608 --- /dev/null +++ b/test/WebSites/MvcTagHelpersWebSite/Views/Catalog_CacheTagHelper/Deals.cshtml @@ -0,0 +1,4 @@ +@using Microsoft.Framework.Caching.Memory + + Deal percentage is @ViewBag.ProductDealPercentage +