public void AddCacheDependencies_NoCacheItem_CreatesAndAddsNewList() { // Arrange var context = new HttpContextWrapper(new HttpContext(new HttpRequest(null, "http://tempuri.org/", null), new HttpResponse(null))); var controller = new DesignerController(); var dependencies = new List<CacheDependencyKey>(); var depKey1 = new CacheDependencyKey { Key = "mykey1", Type = this.GetType() }; var depKey2 = new CacheDependencyKey { Key = "mykey2", Type = this.GetType() }; dependencies.Add(depKey1); dependencies.Add(depKey2); // Act SystemManager.RunWithHttpContext(context, () => controller.AddCacheDependencies(dependencies)); // Assert var cacheObject = context.Items[PageCacheDependencyKeys.PageData]; Assert.IsNotNull(cacheObject, "No cache object was set in the context."); Assert.IsTrue(cacheObject is IList<CacheDependencyKey>, "The cache object was not of the expected type."); var cacheList = (IList<CacheDependencyKey>)cacheObject; Assert.IsTrue(cacheList.Contains(depKey1), "The first cache dependency was not added."); Assert.IsTrue(cacheList.Contains(depKey2), "The second cache dependency was not added."); Assert.AreEqual(dependencies.Count, cacheList.Count, "There is an unexpected count of cache dependency keys."); }
public void TestInitialize() { this.objectFactoryCotnainerRegion = new ObjectFactoryContainerRegion(); FrontendManager.AuthenticationEvaluator = new DummyAuthenticationEvaluator { IsBackendUser = true }; this.designerController = new DummyDesignerController(); }
public void TestCleanup() { FrontendManager.AuthenticationEvaluator = new AuthenticationEvaluator(); this.objectFactoryCotnainerRegion.Dispose(); this.designerController.Dispose(); this.designerController = null; }
public void Designer_UsesPrecompiledView() { var controller = new DesignerController(); var routeData = new RouteData(); routeData.Values["controller"] = "Designer"; routeData.Values["widgetName"] = "News"; controller.ControllerContext = new ControllerContext(new RequestContext(SystemManager.CurrentHttpContext, routeData), controller); FrontendControllerFactory.EnhanceViewEngines(controller); var viewResult = controller.ViewEngineCollection.FindView(controller.ControllerContext, "Designer", null); Assert.IsNotNull(viewResult, "View result is null."); Assert.IsNotNull(viewResult.View, "The view was not found."); Assert.IsInstanceOfType<PrecompiledMvcView>(viewResult.View, "The view is not precompiled."); viewResult = controller.ViewEngineCollection.FindView(controller.ControllerContext, "DesignerView.Simple", null); Assert.IsNotNull(viewResult, "View result is null."); Assert.IsNotNull(viewResult.View, "The view was not found."); Assert.IsInstanceOfType<PrecompiledMvcView>(viewResult.View, "The view is not precompiled."); }
public void AddCacheDependencies_NullKeys_ThrowsArgumentNullException() { Controller controller = new DesignerController(); /// TODO: fix always is null expression controller.AddCacheDependencies(null); }
public void AddCacheDependencies_NullContext_ThrowsInvalidOperationException() { Assert.IsNull(SystemManager.CurrentHttpContext, "Current HttpContext is expected to be null in unit tests but here it is not!"); Controller controller = new DesignerController(); controller.AddCacheDependencies(new CacheDependencyKey[0]); }
public void AddCacheDependencies_NullKeys_ThrowsArgumentNullException() { Controller controller = new DesignerController(); controller.AddCacheDependencies(null); }
private ActionResult ExecuteDesignerControllerMasterAction(string widgetName) { var routeData = new RouteData(); routeData.Values.Add("widgetName", widgetName); routeData.Values.Add("controller", "Designer"); routeData.Values.Add("action", "Master"); var context = new HttpContextWrapper(new HttpContext(new HttpRequest(null, "http://tempuri.org?t=" + Guid.NewGuid().ToString("N"), null), new HttpResponse(null))); var controller = new DesignerController(); controller.ControllerContext = new ControllerContext(context, routeData, controller); var viewEngine = controller.ViewEngineCollection.FirstOrDefault(e => e is RazorViewEngine) as VirtualPathProviderViewEngine; var testViewLocationFormat = "~/Frontend-Assembly/" + new AssemblyName(Assembly.GetExecutingAssembly().FullName).Name + "/Mvc/Views/" + widgetName + "/{0}.cshtml"; viewEngine.PartialViewLocationFormats = viewEngine.PartialViewLocationFormats.Concat(new string[] { testViewLocationFormat }).ToArray(); var result = controller.Master(widgetName); viewEngine.PartialViewLocationFormats = viewEngine.PartialViewLocationFormats.Where(f => testViewLocationFormat != f).ToArray(); return result; }