Example #1
0
        public void Execute_Executes_Second_Part_In_Chain()
        {
            var firstChainPart = new FirstRequestChainPart();
            var secondChainPart = new SecondRequestChainPart();

            firstChainPart.ShouldExecuteNext = true;

            A.CallTo(() => findNextRequestChainPart.FindNext(A<RequestChainNode>.Ignored, null, serviceContainer, request)).Returns(firstChainPart);
            A.CallTo(() => findNextRequestChainPart.FindNext(A<RequestChainNode>.Ignored, firstChainPart, serviceContainer, request)).Returns(secondChainPart);

            requestChain.Execute(serviceContainer, request);

            secondChainPart.WasExecuted.ShouldBeTrue();
        }
        public void SetUp()
        {
            resolveDependencies = A.Fake<IResolveDependencies>();
            request = A.Fake<IRequest>();
            findNextRequestChainPart = new FindNextRequestChainPart();

            firstRequestChainPart = new FirstRequestChainPart { ShouldUseValue = true };
            secondRequestChainPart = new SecondRequestChainPart { ShouldUseValue = true };
            thirdRequestChainPart = new ThirdRequestChainPart { ShouldUseValue = true };

            A.CallTo(() => resolveDependencies.Resolve(typeof(FirstRequestChainPart))).Returns(firstRequestChainPart);
            A.CallTo(() => resolveDependencies.Resolve(typeof(SecondRequestChainPart))).Returns(secondRequestChainPart);
            A.CallTo(() => resolveDependencies.Resolve(typeof(ThirdRequestChainPart))).Returns(thirdRequestChainPart);
        }