示例#1
0
        public void ProcessRequestWithoutBasketTest1()
        {
            // Arrange
            var application = CreateDefaultApplication();

            var repository = MockRepository.GenerateMock <IRepository>();

            repository.Stub(x => x.GetApplication()).IgnoreArguments().Return(application);

            var httpContextWrapper = CreateEmptyHttpContextMock();
            var ctx = new StormContext(repository, httpContextWrapper);

            StormContext.SetInstance(ctx);

            var handler = new PayexCallbackHandler(repository);
            var request = new HttpContext(
                new HttpRequest("", application.Url, "orderRef=123456"),
                new HttpResponse(new StringWriter()));

            // Act
            handler.ProcessRequest(request);

            // Assert
            repository.AssertWasNotCalled(x => x.GetBasket(1), o => o.IgnoreArguments());
        }
示例#2
0
        public void ProcessRequestWithInvalidParametersTest1()
        {
            // Arrange
            var application = CreateDefaultApplication();
            var customer    = CreateDefaultCustomer();
            var basket      = new Basket {
                Id = 1,
            };

            var repository = MockRepository.GenerateMock <IRepository>();

            repository.Stub(x => x.GetApplication()).IgnoreArguments().Return(application);
            repository.Stub(x => x.GetCustomerByEmail("*****@*****.**")).IgnoreArguments().Return(customer);
            repository.Stub(x => x.GetBasket(1)).IgnoreArguments().Return(basket);

            var httpContextWrapper = CreateEmptyHttpContextMock();
            var ctx = new StormContext(repository, httpContextWrapper);

            StormContext.SetInstance(ctx);
            StormContext.BasketId = 1;

            var handler = new PayexCallbackHandler(repository);
            var request = new HttpContext(
                new HttpRequest("", application.Url, "xx=123456"),
                new HttpResponse(new StringWriter()));

            // Act
            handler.ProcessRequest(request);

            // Assert
            repository.AssertWasCalled(x => x.PaymentCancel(null), o => o.IgnoreArguments());
        }
示例#3
0
        public void ProcessValidRequestTest1()
        {
            // Arrange
            var application = CreateDefaultApplication();
            var customer    = CreateDefaultCustomer();
            var basket      = new Basket {
                Id = 1,
            };

            var repository = MockRepository.GenerateMock <IRepository>();

            repository.Stub(x => x.GetApplication()).IgnoreArguments().Return(application);
            repository.Stub(x => x.GetCustomerByEmail("*****@*****.**")).IgnoreArguments().Return(customer);
            repository.Stub(x => x.GetBasket(1)).IgnoreArguments().Return(basket);
            repository.Stub(x => x.PaymentCallback(null)).IgnoreArguments().Return(new PaymentResponse {
                Status = "OK", StatusDescription = "This was OK."
            });

            var httpContextWrapper = CreateEmptyHttpContextMock();
            var ctx = new StormContext(repository, httpContextWrapper);

            StormContext.SetInstance(ctx);
            StormContext.BasketId = 1;

            var handler = new PayexCallbackHandler(repository);
            var request = new HttpContext(
                new HttpRequest("", application.Url, "orderRef=123456"),
                new HttpResponse(new StringWriter()));

            // Act
            handler.ProcessRequest(request);

            // Assert
            Assert.AreEqual(1, StormContext.ConfirmedBasketId);
            Assert.AreEqual(null, StormContext.BasketId);
            repository.AssertWasNotCalled(x => x.PaymentCancel(null), o => o.IgnoreArguments());
        }