Ejemplo n.º 1
0
 public virtual void ExecuteModuleHeader(PortalRequestContext portalContext, ModuleRequestResult moduleResult)
 {
     IHeaderContributingResult headerResult = moduleResult.ActionResult as IHeaderContributingResult;
     if (headerResult != null) {
         RunInModuleResultContext(portalContext,
                                  moduleResult,
                                  () => headerResult.ExecuteHeader(moduleResult.ControllerContext));
     }
 }
Ejemplo n.º 2
0
        public void ExecuteModuleHeader_Does_Nothing_If_ModuleResult_Does_Not_Implement_IHeaderContributingResult()
        {
            // Arrange
            var mockResult = new Mock<ActionResult>();
            PortalRequestContext context = new PortalRequestContext(Mockery.CreateMockHttpContext());
            ModuleRequestResult result = new ModuleRequestResult() {
                ActionResult = mockResult.Object,
                ControllerContext = Mockery.CreateMockControllerContext()
            };
            ModuleExecutionEngine engine = new ModuleExecutionEngine();

            // Act
            engine.ExecuteModuleHeader(context, result);

            // Assert (nothing happened?)
        }
Ejemplo n.º 3
0
        public void ExecuteModuleHeader_Executes_ModuleResult_Header_If_It_Implements_IHeaderContributingResult()
        {
            // Arrange
            var mockResult = new Mock<ActionResult>();
            mockResult.As<IHeaderContributingResult>();
            PortalRequestContext context = new PortalRequestContext(Mockery.CreateMockHttpContext());
            ModuleRequestResult result = new ModuleRequestResult() {
                ActionResult = mockResult.Object,
                ControllerContext = Mockery.CreateMockControllerContext()
            };
            ModuleExecutionEngine engine = new ModuleExecutionEngine();

            // Act
            engine.ExecuteModuleHeader(context, result);

            // Assert
            mockResult.As<IHeaderContributingResult>()
                      .Verify(r => r.ExecuteHeader(result.ControllerContext));
        }
Ejemplo n.º 4
0
        protected internal void RunInModuleResultContext(PortalRequestContext portalContext, ModuleRequestResult moduleResult, Action action)
        {
            // Set the active module
            ModuleRequestResult oldRequest = portalContext.ActiveModuleRequest;
            portalContext.ActiveModuleRequest = moduleResult;

            // Run the action
            action();

            // Restore the previous active module
            portalContext.ActiveModuleRequest = oldRequest;
        }
Ejemplo n.º 5
0
 public virtual void ExecuteModuleResult(PortalRequestContext portalContext, ModuleRequestResult moduleResult)
 {
     RunInModuleResultContext(portalContext,
                              moduleResult,
                              () => moduleResult.ActionResult.ExecuteResult(moduleResult.ControllerContext));
 }
Ejemplo n.º 6
0
        public void RunInModuleContext_Sets_ActiveModuleRequest_Before_Calling_Delegate()
        {
            // Arrange
            HttpContextBase httpContext = Mockery.CreateMockHttpContext();
            ModuleRequestResult moduleResult = new ModuleRequestResult();
            PortalRequestContext portalContext = new PortalRequestContext(httpContext);
            ModuleExecutionEngine engine = new ModuleExecutionEngine();

            // Act
            engine.RunInModuleResultContext(portalContext,
                                            moduleResult,
                                            () => {
                                                // Assert
                                                Assert.AreSame(moduleResult, portalContext.ActiveModuleRequest);
                                            });
        }
Ejemplo n.º 7
0
        public void RunInModuleContext_Runs_Provided_Action()
        {
            // Arrange
            HttpContextBase httpContext = Mockery.CreateMockHttpContext();
            ModuleRequestResult moduleResult = new ModuleRequestResult();
            PortalRequestContext portalContext = new PortalRequestContext(httpContext);
            ModuleExecutionEngine engine = new ModuleExecutionEngine();
            bool actionRun = false;

            // Act
            engine.RunInModuleResultContext(portalContext,
                                            moduleResult,
                                            () => {
                                                actionRun = true;
                                            });

            // Assert
            Assert.IsTrue(actionRun);
        }
Ejemplo n.º 8
0
        public void RunInModuleContext_Restores_Original_ActiveModuleRequest_After_Returning_From_Delegate()
        {
            // Arrange
            HttpContextBase httpContext = Mockery.CreateMockHttpContext();
            ModuleRequestResult moduleResult = new ModuleRequestResult();
            ModuleRequestResult originalModuleResult = new ModuleRequestResult();
            PortalRequestContext portalContext = new PortalRequestContext(httpContext);
            ModuleExecutionEngine engine = new ModuleExecutionEngine();
            portalContext.ActiveModuleRequest = originalModuleResult;

            // Act
            engine.RunInModuleResultContext(portalContext,
                                            moduleResult,
                                            () => { });

            // Assert
            Assert.AreSame(originalModuleResult, portalContext.ActiveModuleRequest);
        }
Ejemplo n.º 9
0
        public void ExecuteModule_Returns_Result_Of_Executing_ModuleApplication()
        {
            // Arrange
            ModuleExecutionEngine engine = CreateExecutionEngine();
            ModuleRequestResult expected = new ModuleRequestResult();
            Mock.Get(engine.ModuleApplications[ModuleControllerTests.TestModule2Id].GetExportedObject())
                .Setup(app => app.ExecuteRequest(It.IsAny<ModuleRequestContext>()))
                .Returns(expected);
            // Act
            ModuleRequestResult actual = engine.ExecuteModule(Mockery.CreateMockHttpContext(),
                                                              new Module() { ModuleApplicationId = ModuleControllerTests.TestModule2Id },
                                                              String.Empty);

            // Assert
            Assert.AreSame(expected, actual);
        }