fix/add tests

This commit is contained in:
Shannon
2021-09-17 12:47:41 -06:00
parent d27dc05f32
commit 2ede06485c

View File

@@ -14,6 +14,7 @@ using NUnit.Framework;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.PublishedCache;
using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Services;
@@ -92,28 +93,28 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Website.Routing
=> Mock.Of<IPublishedRouter>(x => x.RouteRequestAsync(It.IsAny<IPublishedRequestBuilder>(), It.IsAny<RouteRequestOptions>()) == Task.FromResult(request));
[Test]
public async Task Noop_When_Runtime_Level_Not_Run()
public async Task Null_When_Runtime_Level_Not_Run()
{
UmbracoRouteValueTransformer transformer = GetTransformer(
Mock.Of<IUmbracoContextAccessor>(),
Mock.Of<IRuntimeState>());
RouteValueDictionary result = await transformer.TransformAsync(new DefaultHttpContext(), new RouteValueDictionary());
Assert.AreEqual(0, result.Count);
Assert.IsNull(result);
}
[Test]
public async Task Noop_When_No_Umbraco_Context()
public async Task Null_When_No_Umbraco_Context()
{
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState(
Mock.Of<IUmbracoContextAccessor>());
RouteValueDictionary result = await transformer.TransformAsync(new DefaultHttpContext(), new RouteValueDictionary());
Assert.AreEqual(0, result.Count);
Assert.IsNull(result);
}
[Test]
public async Task Noop_When_Not_Document_Request()
public async Task Null_When_Not_Document_Request()
{
var umbracoContext = Mock.Of<IUmbracoContext>();
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState(
@@ -121,7 +122,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Website.Routing
Mock.Of<IRoutableDocumentFilter>(x => x.IsDocumentRequest(It.IsAny<string>()) == false));
RouteValueDictionary result = await transformer.TransformAsync(new DefaultHttpContext(), new RouteValueDictionary());
Assert.AreEqual(0, result.Count);
Assert.IsNull(result);
}
[Test]
@@ -173,10 +174,10 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Website.Routing
}
[Test]
public async Task Assigns_Values_To_RouteValueDictionary()
public async Task Assigns_Values_To_RouteValueDictionary_When_Content()
{
IUmbracoContext umbracoContext = GetUmbracoContext(true);
IPublishedRequest request = Mock.Of<IPublishedRequest>();
IPublishedRequest request = Mock.Of<IPublishedRequest>(x => x.PublishedContent == Mock.Of<IPublishedContent>());
UmbracoRouteValues routeValues = GetRouteValues(request);
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState(
@@ -190,6 +191,23 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Website.Routing
Assert.AreEqual(routeValues.ActionName, result[ActionToken]);
}
[Test]
public async Task Returns_Null_RouteValueDictionary_When_No_Content()
{
IUmbracoContext umbracoContext = GetUmbracoContext(true);
IPublishedRequest request = Mock.Of<IPublishedRequest>(x => x.PublishedContent == null);
UmbracoRouteValues routeValues = GetRouteValues(request);
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState(
Mock.Of<IUmbracoContextAccessor>(x => x.TryGetUmbracoContext(out umbracoContext)),
router: GetRouter(request),
routeValuesFactory: GetRouteValuesFactory(request));
RouteValueDictionary result = await transformer.TransformAsync(new DefaultHttpContext(), new RouteValueDictionary());
Assert.IsNull(result);
}
private class TestController : RenderController
{
public TestController(ILogger<TestController> logger, ICompositeViewEngine compositeViewEngine, IUmbracoContextAccessor umbracoContextAccessor)