public void EngineCurrentPageTest() { var content = _unitTestEngine.WithCurrentPage("Test"); var controller = new BasicTestSurfaceController(); _unitTestEngine.RegisterController(controller); var res = controller.BasicCurrentPageAction(); var model = res.Model as string; Assert.AreEqual(content.Name, model); }
public void BasicCurrentPageTest() { var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var contentMock = new Mock <IPublishedContent>(); contentMock.Setup(s => s.Name).Returns("test"); var content = contentMock.Object; //setup published content request. This sets the current content on the Umbraco Context and will be used later ctx.PublishedContentRequest = new PublishedContentRequest(new Uri("http://test.com"), ctx.RoutingContext, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.AutoLegacy.ToString()), s => new string[] { }) { PublishedContent = content }; //The reoute definition will contain the current page request object and be passed into the route data var routeDefinition = new RouteDefinition { PublishedContentRequest = ctx.PublishedContentRequest }; //We create a route data object to be given to the Controller context var routeData = new RouteData(); routeData.DataTokens.Add("umbraco-route-def", routeDefinition); var controller = new BasicTestSurfaceController(); //Setting the controller context will provide the route data, route def, publushed content request, and current page to the surface controller controller.ControllerContext = new System.Web.Mvc.ControllerContext(ctx.HttpContext, routeData, controller); var res = controller.BasicCurrentPageAction(); var model = res.Model as string; Assert.AreEqual(content.Name, model); }
public void HelperCurrentPageTest() { //Setup UmbracoContext with mocks. Sets UmbracoContext.Current var ctx = UmbracoUnitTestHelper.GetUmbracoContext(); var content = new TestPublishedContent() { Name = "test" }; var controller = new BasicTestSurfaceController(); //Setting the controller context will provide the route data, route def, publushed content request, and current page to the surface controller controller.ControllerContext = UmbracoUnitTestHelper.GetControllerContext(ctx, controller, UmbracoUnitTestHelper.GetPublishedContentRequest(ctx, currentContent: content)); var res = controller.BasicCurrentPageAction(); var model = res.Model as string; Assert.AreEqual(content.Name, model); }