public IPurchaseOrder CreateFakePurchaseOrder()
        {
            var form = new InMemoryOrderForm
            {
                Payments =
                {
                    new InMemoryPayment
                    {
                        BillingAddress    = new InMemoryOrderAddress(),
                        PaymentMethodName = "CashOnDelivery"
                    }
                }
            };

            form.Shipments.First().ShippingAddress = new InMemoryOrderAddress();
            var market        = _currentMarket.GetCurrentMarket();
            var purchaseOrder = new InMemoryPurchaseOrder
            {
                Currency         = market.DefaultCurrency,
                MarketId         = market.MarketId,
                MarketName       = market.MarketName,
                PricesIncludeTax = market.PricesIncludeTax,
                OrderLink        = new OrderReference(0, string.Empty, Guid.Empty, typeof(IPurchaseOrder))
            };

            purchaseOrder.Forms.Add(form);

            return(purchaseOrder);
        }
Exemple #2
0
        public IPurchaseOrder CreateFakePurchaseOrder()
        {
            var form = new InMemoryOrderForm
            {
                Payments =
                {
                    new InMemoryPayment
                    {
                        BillingAddress    = new InMemoryOrderAddress(),
                        PaymentMethodName = "CashOnDelivery"
                    }
                }
            };

            form.Shipments.First().ShippingAddress = new InMemoryOrderAddress();

            var purchaseOrder = new InMemoryPurchaseOrder
            {
                Forms     = new[] { form },
                Currency  = _currentMarket.GetCurrentMarket().DefaultCurrency,
                Market    = _currentMarket.GetCurrentMarket(),
                OrderLink = new OrderReference(0, string.Empty, Guid.Empty, typeof(IPurchaseOrder))
            };

            return(purchaseOrder);
        }
        public IPurchaseOrder CreateFakePurchaseOrder()
        {
            var form = new InMemoryOrderForm
            {
                Payments =
                {
                    new InMemoryPayment
                    {
                        BillingAddress = new InMemoryOrderAddress(),
                        PaymentMethodName = "CashOnDelivery"
                    }
                }
            };

            form.Shipments.First().ShippingAddress = new InMemoryOrderAddress();

            var purchaseOrder = new InMemoryPurchaseOrder
            {
                Forms = new[] { form },
                Currency = _currentMarket.GetCurrentMarket().DefaultCurrency,
                Market = _currentMarket.GetCurrentMarket(),
                OrderLink = new OrderReference(0, string.Empty, Guid.Empty, typeof(IPurchaseOrder))
            };

            return purchaseOrder;
        }
        public CheckoutControllerTests()
        {
            _controllerExceptionHandlerMock = new Mock <ControllerExceptionHandler>();
            _requestContextMock             = new Mock <RequestContext>();
            _httpRequestBaseMock            = new Mock <HttpRequestBase>();
            _httpContextBaseMock            = new Mock <HttpContextBase>();
            _contentRepositoryMock          = new Mock <IContentRepository>();
            _mailServiceMock                  = new Mock <IMailService>();
            _localizationService              = new MemoryLocalizationService();
            _currencyServiceMock              = new Mock <ICurrencyService>();
            _customerContextFacadeMock        = new Mock <CustomerContextFacade>();
            _orderRepositoryMock              = new Mock <IOrderRepository>();
            _orderGroupCalculatorMock         = new Mock <IOrderGroupCalculator>();
            _paymentProcessorMock             = new Mock <IPaymentProcessor>();
            _promotionEngineMock              = new Mock <IPromotionEngine>();
            _cartServiceMock                  = new Mock <ICartService>();
            _addressBookServiceMock           = new Mock <IAddressBookService>();
            _orderSummaryViewModelFactoryMock = new Mock <OrderSummaryViewModelFactory>(null, null, null, null);
            _checkoutViewModelFactoryMock     = new Mock <CheckoutViewModelFactory>(null, null, null, null, null, null, null, null);
            _orderFactoryMock                 = new Mock <IOrderFactory>();
            _cart             = new FakeCart(null, new Currency("USD"));
            _exceptionContext = new ExceptionContext
            {
                HttpContext    = _httpContextBaseMock.Object,
                RequestContext = _requestContextMock.Object
            };
            var customerId     = Guid.NewGuid();
            var orderReference = new OrderReference(1, "PurchaseOrder", customerId, typeof(InMemoryPurchaseOrder));
            var purchaseOrder  = new InMemoryPurchaseOrder {
                Name = orderReference.Name, Currency = _cart.Currency, CustomerId = customerId, OrderLink = orderReference
            };

            var paymentMock = new Mock <ICreditCardPayment>();

            paymentMock.SetupGet(x => x.CreditCardNumber).Returns("423465654");
            paymentMock.SetupGet(x => x.Status).Returns(PaymentStatus.Pending.ToString());

            _httpContextBaseMock.Setup(x => x.Request).Returns(_httpRequestBaseMock.Object);

            _subject = new CheckoutControllerForTest(_contentRepositoryMock.Object, _mailServiceMock.Object, _localizationService,
                                                     _currencyServiceMock.Object, _controllerExceptionHandlerMock.Object, _customerContextFacadeMock.Object, _orderRepositoryMock.Object,
                                                     _checkoutViewModelFactoryMock.Object, _orderGroupCalculatorMock.Object, _paymentProcessorMock.Object, _promotionEngineMock.Object,
                                                     _cartServiceMock.Object, _addressBookServiceMock.Object, _orderSummaryViewModelFactoryMock.Object, _orderFactoryMock.Object);

            _checkoutViewModelFactoryMock
            .Setup(x => x.CreateCheckoutViewModel(It.IsAny <ICart>(), It.IsAny <CheckoutPage>(), It.IsAny <PaymentMethodViewModel <PaymentMethodBase> >()))
            .Returns((ICart cart, CheckoutPage currentPage, PaymentMethodViewModel <PaymentMethodBase> paymentMethodViewModel) => CreateCheckoutViewModel(currentPage, paymentMethodViewModel));

            _orderFactoryMock.Setup(x => x.CreateCardPayment()).Returns(paymentMock.Object);
            _orderRepositoryMock.Setup(x => x.SaveAsPurchaseOrder(_cart)).Returns(orderReference);
            _orderRepositoryMock.Setup(x => x.Load <IPurchaseOrder>(orderReference.OrderGroupId)).Returns(purchaseOrder);

            _contentRepositoryMock.Setup(x => x.Get <StartPage>(It.IsAny <ContentReference>())).Returns(new StartPage());
            _contentRepositoryMock.Setup(x => x.GetChildren <OrderConfirmationPage>(It.IsAny <ContentReference>())).Returns(new[] { new OrderConfirmationPageForTest()
                                                                                                                                    {
                                                                                                                                        Language = new CultureInfo("en-US")
                                                                                                                                    } });

            _cartServiceMock.Setup(x => x.LoadCart(It.IsAny <string>())).Returns(_cart);
            _cartServiceMock.Setup(x => x.ValidateCart(It.IsAny <ICart>())).Returns(new Dictionary <ILineItem, List <ValidationIssue> >());
            _cartServiceMock.Setup(x => x.RequestInventory(It.IsAny <ICart>())).Returns(new Dictionary <ILineItem, List <ValidationIssue> >());

            _cart.AddLineItem(new InMemoryLineItem(), _orderFactoryMock.Object);
        }
        public CheckoutControllerTests()
        {
            _controllerExceptionHandlerMock = new Mock<ControllerExceptionHandler>();
            _requestContextMock = new Mock<RequestContext>();
            _httpRequestBaseMock = new Mock<HttpRequestBase>();
            _httpContextBaseMock = new Mock<HttpContextBase>();
            _contentRepositoryMock = new Mock<IContentRepository>();
            _mailServiceMock = new Mock<IMailService>();
            _localizationService = new MemoryLocalizationService();
            _currencyServiceMock = new Mock<ICurrencyService>();
            _customerContextFacadeMock = new Mock<CustomerContextFacade>();
            _orderRepositoryMock = new Mock<IOrderRepository>();
            _orderGroupCalculatorMock = new Mock<IOrderGroupCalculator>();
            _paymentProcessorMock = new Mock<IPaymentProcessor>();
            _promotionEngineMock = new Mock<IPromotionEngine>();
            _cartServiceMock = new Mock<ICartService>();
            _addressBookServiceMock = new Mock<IAddressBookService>();
            _orderSummaryViewModelFactoryMock = new Mock<OrderSummaryViewModelFactory>(null, null, null, null);
            _checkoutViewModelFactoryMock = new Mock<CheckoutViewModelFactory>(null, null, null, null, null, null, null, null);
            _orderFactoryMock = new Mock<IOrderFactory>();
            _cart = new FakeCart(null, new Currency("USD"));
            _exceptionContext = new ExceptionContext
            {
                HttpContext = _httpContextBaseMock.Object,
                RequestContext = _requestContextMock.Object
            };
            var customerId = Guid.NewGuid();
            var orderReference = new OrderReference(1, "PurchaseOrder", customerId, typeof(InMemoryPurchaseOrder));
            var purchaseOrder = new InMemoryPurchaseOrder { Name = orderReference.Name, Currency = _cart.Currency, CustomerId = customerId, OrderLink = orderReference };

            var paymentMock = new Mock<ICreditCardPayment>();
            paymentMock.SetupGet(x => x.CreditCardNumber).Returns("423465654");
            paymentMock.SetupGet(x => x.Status).Returns(PaymentStatus.Pending.ToString());

            _httpContextBaseMock.Setup(x => x.Request).Returns(_httpRequestBaseMock.Object);

            _subject = new CheckoutControllerForTest(_contentRepositoryMock.Object, _mailServiceMock.Object, _localizationService,
                _currencyServiceMock.Object, _controllerExceptionHandlerMock.Object, _customerContextFacadeMock.Object, _orderRepositoryMock.Object,
                _checkoutViewModelFactoryMock.Object, _orderGroupCalculatorMock.Object, _paymentProcessorMock.Object, _promotionEngineMock.Object,
                _cartServiceMock.Object, _addressBookServiceMock.Object, _orderSummaryViewModelFactoryMock.Object, _orderFactoryMock.Object);

            _checkoutViewModelFactoryMock
                .Setup(x => x.CreateCheckoutViewModel(It.IsAny<ICart>(), It.IsAny<CheckoutPage>(), It.IsAny<PaymentMethodViewModel<PaymentMethodBase>>()))
                .Returns((ICart cart, CheckoutPage currentPage, PaymentMethodViewModel<PaymentMethodBase> paymentMethodViewModel) => CreateCheckoutViewModel(currentPage, paymentMethodViewModel));

            _orderFactoryMock.Setup(x => x.CreateCardPayment()).Returns(paymentMock.Object);
            _orderRepositoryMock.Setup(x => x.SaveAsPurchaseOrder(_cart)).Returns(orderReference);
            _orderRepositoryMock.Setup(x => x.Load<IPurchaseOrder>(orderReference.OrderGroupId)).Returns(purchaseOrder);

            _contentRepositoryMock.Setup(x => x.Get<StartPage>(It.IsAny<ContentReference>())).Returns(new StartPage());
            _contentRepositoryMock.Setup(x => x.GetChildren<OrderConfirmationPage>(It.IsAny<ContentReference>())).Returns(new[] { new OrderConfirmationPageForTest() { Language = new CultureInfo("en-US") } });

            _cartServiceMock.Setup(x => x.LoadCart(It.IsAny<string>())).Returns(_cart);
            _cartServiceMock.Setup(x => x.ValidateCart(It.IsAny<ICart>())).Returns(new Dictionary<ILineItem, List<ValidationIssue>>());
            _cartServiceMock.Setup(x => x.RequestInventory(It.IsAny<ICart>())).Returns(new Dictionary<ILineItem, List<ValidationIssue>>());

            _cart.AddLineItem(new InMemoryLineItem(), _orderFactoryMock.Object);
        }