public void ExecuteRequest_Returns_Result_And_ControllerContext_From_Controller() { // Arrange var app = new ModuleApplication(); ControllerContext controllerContext = MockHelper.CreateMockControllerContext(); ActionResult actionResult = new Mock <ActionResult>().Object; var controller = SetupMockController(actionResult, controllerContext); var controllerFactory = SetupControllerFactory(controller.Object); app.ControllerFactory = controllerFactory.Object; ModuleRequestContext moduleRequestContext = CreateModuleContext(ControllerName, ActionName); // Act ModuleRequestResult result = app.ExecuteRequest(moduleRequestContext); // Assert Assert.AreSame(actionResult, result.ActionResult); Assert.AreSame(controllerContext, result.ControllerContext); }
public void ExecuteRequest_Calls_ControllerFactory_To_Construct_Controller() { // Arrange var app = new ModuleApplication(); var controllerFactory = new Mock <IControllerFactory>(); RequestContext actualRequestContext = null; controllerFactory.Setup(f => f.CreateController(It.IsAny <RequestContext>(), ControllerName)) .Callback <RequestContext, string>((c, n) => actualRequestContext = c) .Returns(new Mock <IDnnController>().Object); app.ControllerFactory = controllerFactory.Object; ModuleRequestContext moduleRequestContext = CreateModuleContext(ControllerName, ActionName); // Act app.ExecuteRequest(moduleRequestContext); // Assert controllerFactory.Verify(f => f.CreateController(It.IsAny <RequestContext>(), ControllerName)); Assert.AreSame(moduleRequestContext.HttpContext, actualRequestContext.HttpContext); }
public void ExecuteRequest_Executes_Constructed_Controller_And_Provides_RequestContext() { // Arrange var app = new ModuleApplication(); var controller = new Mock <IController>(); controller.As <IDnnController>(); var controllerFactory = SetupControllerFactory(controller.Object); app.ControllerFactory = controllerFactory.Object; ModuleRequestContext moduleRequestContext = CreateModuleContext(ControllerName, ActionName); // Act ModuleRequestResult result = app.ExecuteRequest(moduleRequestContext); // Assert controller.Verify(c => c.Execute(It.Is <RequestContext>(rc => rc.HttpContext == moduleRequestContext.HttpContext && rc.RouteData.GetRequiredString("controller") == ControllerName))); }
private static RouteData SetupGetRouteDataCall(ModuleApplication app) { RouteData expectedRouteData = CreateTestRouteData(); Mock.Get(app) .Setup(a => a.GetRouteData(It.IsAny<HttpContextBase>())) .Returns(expectedRouteData); return expectedRouteData; }
private static IModuleController SetupExecuteRequestCall(ModuleApplication app) { RouteData expectedRouteData = SetupGetRouteDataCall(app); ControllerContext controllerContext = Mockery.CreateMockControllerContext(); ActionResult actionResult = new Mock<ActionResult>().Object; IModuleController controller = SetupMockController(actionResult, controllerContext); app.ControllerFactory = SetupControllerFactory(controller); Mock.Get(app) .Setup(a => a.ShouldOverrideOtherModules(actionResult, It.IsAny<ModuleRequestContext>(), It.IsAny<ControllerContext>())) .Returns(true); return controller; }
private static ModuleRequestContext CreateModuleContext(ModuleApplication app, string moduleRoutingUrl) { return new ModuleRequestContext { Application = app, HttpContext = Mockery.CreateMockHttpContext("http://localhost/Portal/Page/ModuleRoute"), Module = new Module {Id = 42}, ModuleRoutingUrl = moduleRoutingUrl }; }