Exemple #1
0
        public void ProxyActionInvokerIfControllerFound([Frozen] IProxyFactory proxyFactory, ControllerFactory.CreateController sut, IAlternateMethodContext context, RequestContext requestContext, string controllerName)
        {
            context.Setup(c => c.ReturnValue).Returns(new DummyController());
            context.Setup(c => c.Arguments).Returns(new object[] { requestContext, controllerName });
            proxyFactory.Setup(p => p.IsWrapInterfaceEligible <IActionInvoker>(It.IsAny <Type>())).Returns(true);

            sut.NewImplementation(context);

            proxyFactory.Verify(p => p.WrapInterface(It.IsAny <ControllerActionInvoker>(), It.IsAny <IEnumerable <IAlternateMethod> >(), It.IsAny <IEnumerable <object> >()));
        }
        public void PublishMessagesIfRuntimePolicyIsOnAndViewIsFound([Frozen] IProxyFactory proxyFactory, ViewEngine.FindViews sut, IAlternateMethodContext context, IView view, IViewEngine engine, ControllerContext controllerContext)
        {
            context.Setup(c => c.Arguments).Returns(GetArguments(controllerContext));
            context.Setup(c => c.ReturnValue).Returns(new ViewEngineResult(view, engine));
            context.Setup(c => c.TargetType).Returns(typeof(int));
            proxyFactory.Setup(p => p.IsWrapInterfaceEligible <IView>(It.IsAny <Type>())).Returns(true);
            proxyFactory.Setup(p =>
                               p.WrapInterface(
                                   It.IsAny <IView>(),
                                   It.IsAny <IEnumerable <IAlternateMethod> >(),
                                   It.IsAny <IEnumerable <object> >()))
            .Returns(view);

            sut.NewImplementation(context);

            proxyFactory.Verify(p => p.IsWrapInterfaceEligible <IView>(It.IsAny <Type>()));
            context.Logger.Verify(l => l.Info(It.IsAny <string>(), It.IsAny <object[]>()));
            context.VerifySet(c => c.ReturnValue = It.IsAny <ViewEngineResult>());
            context.MessageBroker.Verify(b => b.Publish(It.IsAny <ViewEngine.FindViews.Message>()));
        }