public void GetUmbracoRouteValues_Returns_Default() { var router = new UmbracoRouter(Mock.Of <IRouter>()); var httpCtxAccessor = new Mock <IHttpContextAccessor>(); var httpContext = new Mock <HttpContext>(); httpContext.Setup(context => context.Request).Returns(Mock.Of <HttpRequest>()); httpCtxAccessor.Setup(accessor => accessor.HttpContext).Returns(httpContext.Object); var umbCtx = new UmbracoContext(httpCtxAccessor.Object); var urlProvider = new UrlProvider(umbCtx, Enumerable.Empty <IUrlProvider>()); var routingCtx = new RoutingContext(Enumerable.Empty <IContentFinder>(), Mock.Of <ILastChanceContentFinder>(), urlProvider); var pcr = new PublishedContentRequest(routingCtx, Mock.Of <ITemplateService>(), Mock.Of <ILoggerFactory>(), httpCtxAccessor.Object) { PublishedContent = new PublishedContent() }; umbCtx.Initialize(pcr); var actionDescriptors = new Mock <IActionDescriptorsCollectionProvider>(); actionDescriptors.Setup(provider => provider.ActionDescriptors).Returns(new ActionDescriptorsCollection(new List <ActionDescriptor>(), 0)); var result = router.GetUmbracoRouteValues(umbCtx, new UmbracoControllerTypeCollection(actionDescriptors.Object)); Assert.Equal("Umbraco", result.ControllerName); Assert.Equal("Index", result.ActionName); }
public async void RouteUmbracoContentAsync_Umbraco_Context_Initialized() { var router = new UmbracoRouter(Mock.Of <IRouter>()); var httpCtxAccessor = new Mock <IHttpContextAccessor>(); var httpContext = new Mock <HttpContext>(); httpContext.Setup(context => context.Request).Returns(Mock.Of <HttpRequest>()); httpCtxAccessor.Setup(accessor => accessor.HttpContext).Returns(httpContext.Object); var umbCtx = new UmbracoContext(httpCtxAccessor.Object); var urlProvider = new UrlProvider(umbCtx, Enumerable.Empty <IUrlProvider>()); var routingCtx = new RoutingContext(Enumerable.Empty <IContentFinder>(), Mock.Of <ILastChanceContentFinder>(), urlProvider); var pcr = new PublishedContentRequest(routingCtx, Mock.Of <ITemplateService>(), Mock.Of <ILoggerFactory>(), httpCtxAccessor.Object); var result = await router.RouteUmbracoContentAsync(umbCtx, pcr, new RouteData()); Assert.Equal(true, umbCtx.Initialized); Assert.Equal(false, result); }
public void GetUmbracoRouteValues_Find_Custom_Controller() { var router = new UmbracoRouter(Mock.Of <IRouter>()); var httpCtxAccessor = new Mock <IHttpContextAccessor>(); var httpContext = new Mock <HttpContext>(); httpContext.Setup(context => context.Request).Returns(Mock.Of <HttpRequest>()); httpCtxAccessor.Setup(accessor => accessor.HttpContext).Returns(httpContext.Object); var umbCtx = new UmbracoContext(httpCtxAccessor.Object); var urlProvider = new UrlProvider(umbCtx, Enumerable.Empty <IUrlProvider>()); var routingCtx = new RoutingContext(Enumerable.Empty <IContentFinder>(), Mock.Of <ILastChanceContentFinder>(), urlProvider); var templateService = new Mock <ITemplateService>(); templateService.Setup(service => service.GetTemplate("Hello")).Returns(Mock.Of <ITemplate>(template => template.Alias == "Hello")); var pcr = new PublishedContentRequest(routingCtx, templateService.Object, Mock.Of <ILoggerFactory>(), httpCtxAccessor.Object) { PublishedContent = new PublishedContent() { ContentType = "Custom" } }; pcr.TrySetTemplate("Hello"); umbCtx.Initialize(pcr); var actionDescriptors = new Mock <IActionDescriptorsCollectionProvider>(); actionDescriptors.Setup(provider => provider.ActionDescriptors).Returns(new ActionDescriptorsCollection( new List <ActionDescriptor>() { new ControllerActionDescriptor() { Name = "Hello", ControllerName = "Custom", ControllerTypeInfo = typeof(UmbracoController).GetTypeInfo() } }, 0)); var result = router.GetUmbracoRouteValues(umbCtx, new UmbracoControllerTypeCollection(actionDescriptors.Object)); Assert.Equal("Custom", result.ControllerName); Assert.Equal("Hello", result.ActionName); }