Inheritance: IActionBehavior, IContinuationDirector
 public FubuContinuationFailurePolicy(Func<Type, bool> predicate, IFubuRequest request, 
     FubuContinuation continuation, ContinuationHandler handler)
 {
     _predicate = predicate;
     _handler = handler;
     _continuation = continuation;
     _request = request;
 }
        public void transfer_to_null_throws()
        {
            var urlRegistry = MockRepository.GenerateStub<IUrlRegistry>();
            var outputWriter = MockRepository.GenerateStub<IOutputWriter>();
            var fubuRequest = MockRepository.GenerateStub<IFubuRequest>();
            var partialFactory = MockRepository.GenerateStub<IPartialFactory>();
            var handler = new ContinuationHandler(urlRegistry, outputWriter, fubuRequest, partialFactory);

            var exception =
                typeof (ArgumentNullException).ShouldBeThrownBy(() => handler.TransferTo(null)) as ArgumentNullException;
            exception.ShouldNotBeNull();
            exception.ParamName.ShouldEqual("input");
        }
        public void perform_invoke_processes_handler()
        {
            //Arrange
            var urlRegistry = MockRepository.GenerateStub<IUrlRegistry>();
            var outputWriter = MockRepository.GenerateStub<IOutputWriter>();
            var fubuRequest = MockRepository.GenerateStub<IFubuRequest>();
            var continuation = FubuContinuation.TransferTo(new object());
            fubuRequest.Stub(r => r.Get<FubuContinuation>()).Return(continuation);
            fubuRequest.Stub(r => r.Find<IRedirectable>()).Return(new IRedirectable[0]);

            var partialFactory = MockRepository.GenerateStub<IPartialFactory>();
            var partialBehavior = MockRepository.GenerateStub<IActionBehavior>();
            partialFactory.Stub(f => f.BuildPartial(typeof(object))).Return(partialBehavior);
            var handler = new ContinuationHandler(urlRegistry, outputWriter, fubuRequest, partialFactory);
            var insideBehavior = MockRepository.GenerateStub<IActionBehavior>();
            handler.InsideBehavior = insideBehavior;

            //Act
            handler.Invoke();

            //Assert TransferTo was called by _request.Get<FubuContinuation>().Process(this);
            partialFactory.AssertWasCalled(f=>f.BuildPartial(typeof(object)));
            partialBehavior.AssertWasCalled(p=>p.InvokePartial());
            //Assert performInvoke() returned Stop
            insideBehavior.AssertWasNotCalled(b=>b.Invoke());
        }
Esempio n. 4
0
 public ContinuationProcessor(ContinuationHandler handler)
 {
     _handler = handler;
 }
 public ContinuationProcessor(ContinuationHandler handler)
 {
     _handler = handler;
 }
		public DefaultAuthenticationRedirect(IFubuRequest request, ContinuationHandler handler, ICurrentHttpRequest currentRequest)
		{
			_request = request;
			_handler = handler;
			_currentRequest = currentRequest;
		}