public CheckoutController(
     ICurrencyService currencyService,
     ControllerExceptionHandler controllerExceptionHandler,
     IOrderRepository orderRepository,
     CheckoutViewModelFactory checkoutViewModelFactory,
     ICartService cartService,
     OrderSummaryViewModelFactory orderSummaryViewModelFactory,
     IRecommendationService recommendationService,
     CheckoutService checkoutService,
     OrderValidationService orderValidationService,
     IDatabaseMode databaseMode,
     ISwedbankPayCheckoutService swedbankPayCheckoutService,
     IContentLoader contentLoader,
     IMarketService marketService,
     IAddressBookService addressBookService)
 {
     _currencyService            = currencyService;
     _controllerExceptionHandler = controllerExceptionHandler;
     _orderRepository            = orderRepository;
     _checkoutViewModelFactory   = checkoutViewModelFactory;
     _cartService = cartService;
     _orderSummaryViewModelFactory = orderSummaryViewModelFactory;
     _recommendationService        = recommendationService;
     _checkoutService            = checkoutService;
     _orderValidationService     = orderValidationService;
     _databaseMode               = databaseMode;
     _swedbankPayCheckoutService = swedbankPayCheckoutService;
     _contentLoader              = contentLoader;
     _marketService              = marketService;
     _addressBookService         = addressBookService;
 }
 public CheckoutControllerForTest(
     IContentRepository contentRepository,
     IMailService mailService,
     LocalizationService localizationService,
     ICurrencyService currencyService,
     ControllerExceptionHandler controllerExceptionHandler,
     CustomerContextFacade customerContextFacade,
     IOrderRepository orderRepository,
     CheckoutViewModelFactory checkoutViewModelFactory,
     IOrderGroupCalculator orderGroupCalculator,
     IPaymentProcessor paymentProcessor,
     IPromotionEngine promotionEngine,
     ICartService cartService,
     IAddressBookService addressBookService,
     OrderSummaryViewModelFactory orderSummaryViewModelFactory,
     IOrderFactory orderFactory
     )
     : base(contentRepository,
            mailService,
            localizationService,
            currencyService,
            controllerExceptionHandler,
            customerContextFacade,
            orderRepository,
            checkoutViewModelFactory,
            orderGroupCalculator,
            paymentProcessor,
            promotionEngine,
            cartService,
            addressBookService,
            orderSummaryViewModelFactory,
            orderFactory)
 {
 }
 public CheckoutController(IContentRepository contentRepository,
                           IMailService mailService,
                           LocalizationService localizationService,
                           ICurrencyService currencyService,
                           ControllerExceptionHandler controllerExceptionHandler,
                           CustomerContextFacade customerContextFacade,
                           IOrderRepository orderRepository,
                           CheckoutViewModelFactory checkoutViewModelFactory,
                           IOrderGroupCalculator orderGroupCalculator,
                           IPaymentProcessor paymentProcessor,
                           IPromotionEngine promotionEngine,
                           ICartService cartService,
                           IAddressBookService addressBookService,
                           OrderSummaryViewModelFactory orderSummaryViewModelFactory,
                           IOrderFactory orderFactory)
 {
     _contentRepository            = contentRepository;
     _mailService                  = mailService;
     _localizationService          = localizationService;
     _currencyService              = currencyService;
     _controllerExceptionHandler   = controllerExceptionHandler;
     _customerContext              = customerContextFacade;
     _orderRepository              = orderRepository;
     _checkoutViewModelFactory     = checkoutViewModelFactory;
     _orderGroupCalculator         = orderGroupCalculator;
     _paymentProcessor             = paymentProcessor;
     _promotionEngine              = promotionEngine;
     _cartService                  = cartService;
     _addressBookService           = addressBookService;
     _orderSummaryViewModelFactory = orderSummaryViewModelFactory;
     _orderFactory                 = orderFactory;
 }
Esempio n. 4
0
 public CheckoutController(
     ICurrencyService currencyService,
     ControllerExceptionHandler controllerExceptionHandler,
     IOrderRepository orderRepository,
     CheckoutViewModelFactory checkoutViewModelFactory,
     ICartService cartService,
     OrderSummaryViewModelFactory orderSummaryViewModelFactory,
     IRecommendationService recommendationService,
     CheckoutService checkoutService,
     IKlarnaPaymentsService klarnaPaymentsService,
     IKlarnaCheckoutService klarnaCheckoutService,
     IContentLoader contentLoader)
 {
     _currencyService            = currencyService;
     _controllerExceptionHandler = controllerExceptionHandler;
     _orderRepository            = orderRepository;
     _checkoutViewModelFactory   = checkoutViewModelFactory;
     _cartService = cartService;
     _orderSummaryViewModelFactory = orderSummaryViewModelFactory;
     _recommendationService        = recommendationService;
     _checkoutService       = checkoutService;
     _klarnaPaymentsService = klarnaPaymentsService;
     _klarnaCheckoutService = klarnaCheckoutService;
     _contentLoader         = contentLoader;
 }
Esempio n. 5
0
 public CheckoutController(
     IOrderRepository orderRepository,
     CheckoutViewModelFactory checkoutViewModelFactory,
     ICartService cartService,
     OrderSummaryViewModelFactory orderSummaryViewModelFactory,
     ICommerceTrackingService recommendationService,
     CheckoutService checkoutService,
     UrlHelper urlHelper,
     ApplicationSignInManager <SiteUser> applicationSignInManager,
     LocalizationService localizationService,
     IAddressBookService addressBookService,
     MultiShipmentViewModelFactory multiShipmentViewModelFactory,
     IOrderGroupFactory orderGroupFactory,
     IContentLoader contentLoader,
     UrlResolver urlResolver,
     ICustomerService customerContext,
     IOrganizationService organizationService)
 {
     _orderRepository          = orderRepository;
     _checkoutViewModelFactory = checkoutViewModelFactory;
     _cartService = cartService;
     _orderSummaryViewModelFactory = orderSummaryViewModelFactory;
     _recommendationService        = recommendationService;
     _checkoutService               = checkoutService;
     _urlHelper                     = urlHelper;
     _applicationSignInManager      = applicationSignInManager;
     _localizationService           = localizationService;
     _addressBookService            = addressBookService;
     _multiShipmentViewModelFactory = multiShipmentViewModelFactory;
     _orderGroupFactory             = orderGroupFactory;
     _contentLoader                 = contentLoader;
     _urlResolver                   = urlResolver;
     _customerContext               = customerContext;
     _organizationService           = organizationService;
 }
 public CheckoutController(
     ICurrencyService currencyService,
     ControllerExceptionHandler controllerExceptionHandler,
     IOrderRepository orderRepository,
     CheckoutViewModelFactory checkoutViewModelFactory,
     ICartService cartService,
     OrderSummaryViewModelFactory orderSummaryViewModelFactory,
     IRecommendationService recommendationService,
     CheckoutService checkoutService,
     OrderValidationService orderValidationService,
     IDatabaseMode databaseMode,
     SecureAcceptanceSecurity secureAcceptanceSecurity,
     IAddressBookService addressBookService)
 {
     _currencyService            = currencyService;
     _controllerExceptionHandler = controllerExceptionHandler;
     _orderRepository            = orderRepository;
     _checkoutViewModelFactory   = checkoutViewModelFactory;
     _cartService = cartService;
     _orderSummaryViewModelFactory = orderSummaryViewModelFactory;
     _recommendationService        = recommendationService;
     _checkoutService          = checkoutService;
     _orderValidationService   = orderValidationService;
     _databaseMode             = databaseMode;
     _secureAcceptanceSecurity = secureAcceptanceSecurity;
     _addressBookService       = addressBookService;
 }
Esempio n. 7
0
 public CheckoutController(
     ICurrencyService currencyService,
     ControllerExceptionHandler controllerExceptionHandler,
     IOrderRepository orderRepository,
     CheckoutViewModelFactory checkoutViewModelFactory,
     ICartService cartService,
     OrderSummaryViewModelFactory orderSummaryViewModelFactory,
     IRecommendationService recommendationService,
     CheckoutService checkoutService,
     OrderValidationService orderValidationService)
 {
     _currencyService            = currencyService;
     _controllerExceptionHandler = controllerExceptionHandler;
     _orderRepository            = orderRepository;
     _checkoutViewModelFactory   = checkoutViewModelFactory;
     _cartService = cartService;
     _orderSummaryViewModelFactory = orderSummaryViewModelFactory;
     _recommendationService        = recommendationService;
     _checkoutService        = checkoutService;
     _orderValidationService = orderValidationService;
 }
        public CheckoutViewModelFactoryTests()
        {
            var market = new MarketImpl(new MarketId(Currency.USD));

            _cart = new FakeCart(market, Currency.USD);
            _cart.Forms.Single().Shipments.Single().LineItems.Add(new InMemoryLineItem());
            _cart.Forms.Single().CouponCodes.Add("couponcode");

            var currentMarketMock   = new Mock <ICurrentMarket>();
            var languageServiceMock = new Mock <LanguageService>(null, null, null);

            currentMarketMock.Setup(x => x.GetCurrentMarket()).Returns(market);
            languageServiceMock.Setup(x => x.GetCurrentLanguage()).Returns(new CultureInfo("en-US"));

            var orderGroupFactoryMock = new Mock <IOrderGroupFactory>();

            orderGroupFactoryMock.Setup(x => x.CreatePayment(It.IsAny <IOrderGroup>())).Returns((IOrderGroup orderGroup) => new FakePayment());
            var serviceLocatorMock = new Mock <IServiceLocator>();

            serviceLocatorMock.Setup(x => x.GetInstance <IOrderGroupFactory>()).Returns(orderGroupFactoryMock.Object);
            ServiceLocator.SetLocator(serviceLocatorMock.Object);

            _addressBookServiceMock = new Mock <IAddressBookService>();
            _addressBookServiceMock.Setup(x => x.List()).Returns(() => new List <AddressModel> {
                new AddressModel {
                    AddressId = "addressid"
                }
            });
            _preferredBillingAddress      = CustomerAddress.CreateInstance();
            _preferredBillingAddress.Name = "preferredBillingAddress";
            _addressBookServiceMock.Setup(x => x.GetPreferredBillingAddress()).Returns(_preferredBillingAddress);
            _addressBookServiceMock.Setup(x => x.UseBillingAddressForShipment()).Returns(true);

            _startPage = new StartPage();
            var contentLoaderMock = new Mock <IContentLoader>();

            contentLoaderMock.Setup(x => x.Get <StartPage>(It.IsAny <PageReference>())).Returns(_startPage);

            var urlResolverMock = new Mock <UrlResolver>();
            var httpcontextMock = new Mock <HttpContextBase>();
            var requestMock     = new Mock <HttpRequestBase>();

            requestMock.Setup(x => x.Url).Returns(new Uri("http://site.com"));
            requestMock.Setup(x => x.UrlReferrer).Returns(new Uri("http://site.com"));
            httpcontextMock.Setup(x => x.Request).Returns(requestMock.Object);

            var marketServiceMock = new Mock <IMarketService>();

            marketServiceMock.Setup(x => x.GetMarket(It.IsAny <MarketId>())).Returns(market);
            var shipmentViewModelFactoryMock = new Mock <ShipmentViewModelFactory>(null, null, null, null, null, marketServiceMock.Object);

            shipmentViewModelFactoryMock.Setup(x => x.CreateShipmentsViewModel(It.IsAny <ICart>())).Returns(() => new[]
            {
                new ShipmentViewModel {
                    CartItems = new[]
                    {
                        new CartItemViewModel {
                            Quantity = 1
                        }
                    }
                }
            });

            _subject = new CheckoutViewModelFactory(
                new MemoryLocalizationService(),
                _addressBookServiceMock.Object,
                contentLoaderMock.Object,
                urlResolverMock.Object,
                (() => httpcontextMock.Object),
                shipmentViewModelFactoryMock.Object,
                null);
        }
        public CheckoutViewModelFactoryTests()
        {
            _cart = new FakeCart(new MarketImpl(new MarketId(Currency.USD)), Currency.USD);
            _cart.Forms.Single().Shipments.Single().LineItems.Add(new InMemoryLineItem());
            _cart.Forms.Single().CouponCodes.Add("couponcode");

            var paymentServiceMock = new Mock <IPaymentService>();

            paymentServiceMock.Setup(x => x.GetPaymentMethodsByMarketIdAndLanguageCode(It.IsAny <string>(), "en")).Returns(
                new[]
            {
                new PaymentMethodViewModel()
                {
                    PaymentMethodId = Guid.NewGuid(), Description = "Lorem ipsum", FriendlyName = "payment method 1", SystemKeyword = cashPaymentName
                },
                new PaymentMethodViewModel()
                {
                    PaymentMethodId = Guid.NewGuid(), Description = "Lorem ipsum", FriendlyName = "payment method 2", SystemKeyword = creditPaymentName, IsDefault = true
                }
            });

            var marketMock          = new Mock <IMarket>();
            var currentMarketMock   = new Mock <ICurrentMarket>();
            var languageServiceMock = new Mock <LanguageService>(null, null, null);

            currentMarketMock.Setup(x => x.GetCurrentMarket()).Returns(marketMock.Object);
            languageServiceMock.Setup(x => x.GetCurrentLanguage()).Returns(new CultureInfo("en-US"));

            var cashOnDeliveryPaymentOption = new CashOnDeliveryPaymentOption(null, null, currentMarketMock.Object, languageServiceMock.Object, paymentServiceMock.Object);
            var creaditPaymentOption        = new GenericCreditCardPaymentOption(null, null, currentMarketMock.Object, languageServiceMock.Object, paymentServiceMock.Object);

            var paymentOptions = new List <IPaymentOption>();

            paymentOptions.Add(cashOnDeliveryPaymentOption as IPaymentOption);
            paymentOptions.Add(creaditPaymentOption as IPaymentOption);
            _creditPayment = creaditPaymentOption;

            var paymentMethodViewModelFactory = new PaymentMethodViewModelFactory(currentMarketMock.Object, languageServiceMock.Object, paymentServiceMock.Object, paymentOptions);

            var orderGroupFactoryMock = new Mock <IOrderGroupFactory>();

            orderGroupFactoryMock.Setup(x => x.CreatePayment(It.IsAny <IOrderGroup>())).Returns((IOrderGroup orderGroup) => new FakePayment());
            var serviceLocatorMock = new Mock <IServiceLocator>();

            serviceLocatorMock.Setup(x => x.GetInstance <IOrderGroupFactory>()).Returns(orderGroupFactoryMock.Object);
            ServiceLocator.SetLocator(serviceLocatorMock.Object);

            _addressBookServiceMock = new Mock <IAddressBookService>();
            _addressBookServiceMock.Setup(x => x.List()).Returns(() => new List <AddressModel> {
                new AddressModel {
                    AddressId = "addressid"
                }
            });
            _preferredBillingAddress      = CustomerAddress.CreateInstance();
            _preferredBillingAddress.Name = "preferredBillingAddress";
            _addressBookServiceMock.Setup(x => x.GetPreferredBillingAddress()).Returns(_preferredBillingAddress);
            _addressBookServiceMock.Setup(x => x.UseBillingAddressForShipment()).Returns(true);

            _startPage = new StartPage();
            var contentLoaderMock = new Mock <IContentLoader>();

            contentLoaderMock.Setup(x => x.Get <StartPage>(It.IsAny <PageReference>())).Returns(_startPage);

            var urlResolverMock = new Mock <UrlResolver>();
            var httpcontextMock = new Mock <HttpContextBase>();
            var requestMock     = new Mock <HttpRequestBase>();

            requestMock.Setup(x => x.Url).Returns(new Uri("http://site.com"));
            requestMock.Setup(x => x.UrlReferrer).Returns(new Uri("http://site.com"));
            httpcontextMock.Setup(x => x.Request).Returns(requestMock.Object);

            var shipmentViewModelFactoryMock = new Mock <ShipmentViewModelFactory>(null, null, null, null, null);

            shipmentViewModelFactoryMock.Setup(x => x.CreateShipmentsViewModel(It.IsAny <ICart>())).Returns(() => new[]
            {
                new ShipmentViewModel {
                    CartItems = new[]
                    {
                        new CartItemViewModel {
                            Quantity = 1
                        }
                    }
                }
            });

            _subject = new CheckoutViewModelFactory(
                new MemoryLocalizationService(),
                (() => paymentMethodViewModelFactory),
                _addressBookServiceMock.Object,
                contentLoaderMock.Object,
                urlResolverMock.Object,
                (() => httpcontextMock.Object),
                shipmentViewModelFactoryMock.Object);
        }
Esempio n. 10
0
        public CheckoutViewModelFactoryTests()
        {
            _cart = new FakeCart(new MarketImpl(new MarketId(Currency.USD)), Currency.USD);
            _cart.Forms.Single().Shipments.Single().LineItems.Add(new InMemoryLineItem());
            _cart.Forms.Single().CouponCodes.Add("couponcode");

            _cashPayment = new PaymentMethodViewModel <PaymentMethodBase> {
                SystemName = cashPaymentName
            };
            _creditPayment = new PaymentMethodViewModel <PaymentMethodBase> {
                SystemName = creditPaymentName
            };
            var paymentServiceMock            = new Mock <IPaymentService>();
            var marketMock                    = new Mock <IMarket>();
            var currentMarketMock             = new Mock <ICurrentMarket>();
            var languageServiceMock           = new Mock <LanguageService>(null, null, null, null);
            var paymentMethodViewModelFactory = new PaymentMethodViewModelFactory(currentMarketMock.Object, languageServiceMock.Object, paymentServiceMock.Object);

            currentMarketMock.Setup(x => x.GetCurrentMarket()).Returns(marketMock.Object);
            languageServiceMock.Setup(x => x.GetCurrentLanguage()).Returns(new CultureInfo("en-US"));
            paymentServiceMock.Setup(x => x.GetPaymentMethodsByMarketIdAndLanguageCode(It.IsAny <string>(), "en")).Returns(
                new[]
            {
                new PaymentMethodModel {
                    Description = "Lorem ipsum", FriendlyName = "payment method 1", LanguageId = "en", PaymentMethodId = Guid.NewGuid(), SystemName = cashPaymentName
                },
                new PaymentMethodModel {
                    Description = "Lorem ipsum", FriendlyName = "payment method 2", LanguageId = "en", PaymentMethodId = Guid.NewGuid(), SystemName = creditPaymentName
                }
            });

            var addressBookServiceMock = new Mock <IAddressBookService>();

            addressBookServiceMock.Setup(x => x.List()).Returns(() => new List <AddressModel> {
                new AddressModel {
                    AddressId = "addressid"
                }
            });
            _preferredBillingAddress      = CustomerAddress.CreateInstance();
            _preferredBillingAddress.Name = "preferredBillingAddress";
            addressBookServiceMock.Setup(x => x.GetPreferredBillingAddress()).Returns(_preferredBillingAddress);
            addressBookServiceMock.Setup(x => x.UseBillingAddressForShipment()).Returns(true);

            _startPage = new StartPage();
            var contentLoaderMock = new Mock <IContentLoader>();

            contentLoaderMock.Setup(x => x.Get <StartPage>(It.IsAny <PageReference>())).Returns(_startPage);

            var orderGroupFactoryMock = new Mock <IOrderGroupFactory>();
            var urlResolverMock       = new Mock <UrlResolver>();
            var httpcontextMock       = new Mock <HttpContextBase>();
            var requestMock           = new Mock <HttpRequestBase>();
            var serviceCustomer       = new Mock <ICustomerService>();
            var organizationService   = new Mock <IOrganizationService>();
            var budgetService         = new Mock <IBudgetService>();
            var customerContext       = new Mock <CustomerContextFacade>();

            requestMock.Setup(x => x.Url).Returns(new Uri("http://site.com"));
            requestMock.Setup(x => x.UrlReferrer).Returns(new Uri("http://site.com"));
            httpcontextMock.Setup(x => x.Request).Returns(requestMock.Object);

            PreferredCultureAccessor accessor = () => CultureInfo.InvariantCulture;
            var shipmentViewModelFactoryMock  = new Mock <ShipmentViewModelFactory>(null, null, null, null, null, null, accessor, null);

            shipmentViewModelFactoryMock.Setup(x => x.CreateShipmentsViewModel(It.IsAny <ICart>())).Returns(() => new[]
            {
                new ShipmentViewModel {
                    CartItems = new[]
                    {
                        new CartItemViewModel {
                            Quantity = 1
                        }
                    }
                }
            });

            _subject = new CheckoutViewModelFactory(
                new MemoryLocalizationService(),
                paymentMethodViewModelFactory,
                addressBookServiceMock.Object,
                contentLoaderMock.Object,
                orderGroupFactoryMock.Object,
                urlResolverMock.Object,
                (() => httpcontextMock.Object),
                shipmentViewModelFactoryMock.Object,
                serviceCustomer.Object,
                organizationService.Object,
                budgetService.Object,
                customerContext.Object);
        }