Ejemplo n.º 1
0
        /// <summary>
        /// Ctor
        /// </summary>
        /// <param name="addressService">Address service</param>
        /// <param name="workContext">Work context</param>
        /// <param name="taxSettings">Tax settings</param>
        /// <param name="pluginFinder">Plugin finder</param>
        /// <param name="geoLookupService">GEO lookup service</param>
        /// <param name="countryService">Country service</param>
        /// <param name="customerSettings">Customer settings</param>
        /// <param name="addressSettings">Address settings</param>
        public TaxService(IAddressService addressService,
            IWorkContext workContext,
            TaxSettings taxSettings,
            IPluginFinder pluginFinder,
            IGeoLookupService geoLookupService,
            ICountryService countryService,
            CustomerSettings customerSettings,
            AddressSettings addressSettings,
            PromoSettings promoSettings,
            //IpromoService promoService,
            IPromoUtilities promoUtilities,
            ITaxServiceExtensions taxServiceExtensions)
            : base(addressService, workContext, taxSettings,
                                                    pluginFinder, geoLookupService, countryService,
                                                    customerSettings, addressSettings)
        {
            this._addressService = addressService;
            this._workContext = workContext;
            this._taxSettings = taxSettings;
            this._pluginFinder = pluginFinder;
            this._geoLookupService = geoLookupService;
            this._countryService = countryService;
            this._customerSettings = customerSettings;
            this._addressSettings = addressSettings;

            this._promoSettings = promoSettings;
            //this._promoService = promoService;
            this._promoUtilities = promoUtilities;
            this._taxServiceExtensions = taxServiceExtensions;
        }
Ejemplo n.º 2
0
        public new void SetUp()
        {
            _taxSettings = new TaxSettings();
            _taxSettings.DefaultTaxAddressId = 10;

            _workContext = null;

            _addressService = MockRepository.GenerateMock<IAddressService>();
            //default tax address
            _addressService.Expect(x => x.GetAddressById(_taxSettings.DefaultTaxAddressId)).Return(new Address { Id = _taxSettings.DefaultTaxAddressId });

            var pluginFinder = new PluginFinder();

            _eventPublisher = MockRepository.GenerateMock<IEventPublisher>();
            _eventPublisher.Expect(x => x.Publish(Arg<object>.Is.Anything));

            _geoLookupService = MockRepository.GenerateMock<IGeoLookupService>();
            _countryService = MockRepository.GenerateMock<ICountryService>();
            _logger = MockRepository.GenerateMock<ILogger>();
            _customerSettings = new CustomerSettings();
            _addressSettings = new AddressSettings();

            _taxService = new TaxService(_addressService, _workContext, _taxSettings,
                pluginFinder, _geoLookupService, _countryService, _logger
                , _customerSettings, _addressSettings);
        }
 public OnlineCustomerController(ICustomerService customerService,
     IGeoLookupService geoLookupService, IDateTimeHelper dateTimeHelper,
     CustomerSettings customerSettings,
     IPermissionService permissionService, ILocalizationService localizationService)
 {
     this._customerService = customerService;
     this._geoLookupService = geoLookupService;
     this._dateTimeHelper = dateTimeHelper;
     this._customerSettings = customerSettings;
     this._permissionService = permissionService;
     this._localizationService = localizationService;
 }
Ejemplo n.º 4
0
        public SearchController(AbstractExpediaService expediaService, IGeoLookupService lookupService)
        {
            if (expediaService == null) // Guard clause
            {
                throw new ArgumentNullException("expediaService");
            }

            if (lookupService == null) // Guard clause
            {
                throw new ArgumentNullException("lookupService");
            }

            _expediaService = expediaService;
            _lookUpService = lookupService;
        }
Ejemplo n.º 5
0
        public HotelsController(AbstractExpediaService expediaService, IGeoLookupService geoLookupService)
        {
            if (expediaService == null) // Guard Clause
            {
                throw new ArgumentNullException("expediaService");
            }

            if (geoLookupService == null) // Guard Clause
            {
                throw new ArgumentNullException("geoLookupService");
            }

            _lookUpService = geoLookupService;
            _expediaService = expediaService;
        }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="addressService">Address service</param>
 /// <param name="workContext">Work context</param>
 /// <param name="taxSettings">Tax settings</param>
 /// <param name="pluginFinder">Plugin finder</param>
 /// <param name="geoLookupService">GEO lookup service</param>
 /// <param name="countryService">Country service</param>
 /// <param name="customerSettings">Customer settings</param>
 /// <param name="addressSettings">Address settings</param>
 public TaxService(IAddressService addressService,
     IWorkContext workContext,
     TaxSettings taxSettings,
     IPluginFinder pluginFinder,
     IGeoLookupService geoLookupService,
     ICountryService countryService,
     CustomerSettings customerSettings,
     AddressSettings addressSettings)
 {
     this._addressService = addressService;
     this._workContext = workContext;
     this._taxSettings = taxSettings;
     this._pluginFinder = pluginFinder;
     this._geoLookupService = geoLookupService;
     this._countryService = countryService;
     this._customerSettings = customerSettings;
     this._addressSettings = addressSettings;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="addressService">Address service</param>
 /// <param name="workContext">Work context</param>
 /// <param name="pluginFinder">Plugin finder</param>
 /// <param name="geoLookupService">GEO lookup service</param>
 /// <param name="countryService">Country service</param>
 /// <param name="logger">Logger service</param>
 /// <param name="taxSettings">Tax settings</param>
 /// <param name="customerSettings">Customer settings</param>
 /// <param name="addressSettings">Address settings</param>
 public TaxService(IAddressService addressService,
                   IWorkContext workContext,
                   IPluginFinder pluginFinder,
                   IGeoLookupService geoLookupService,
                   ICountryService countryService,
                   ILogger logger,
                   TaxSettings taxSettings,
                   CustomerSettings customerSettings,
                   AddressSettings addressSettings)
 {
     _addressService   = addressService;
     _workContext      = workContext;
     _taxSettings      = taxSettings;
     _pluginFinder     = pluginFinder;
     _geoLookupService = geoLookupService;
     _logger           = logger;
     _countryService   = countryService;
     _customerSettings = customerSettings;
     _addressSettings  = addressSettings;
 }
Ejemplo n.º 8
0
 public UserModelFactory(AddressSettings addressSettings,
                         UserSettings userSettings,
                         DateTimeSettings dateTimeSettings,
                         IAclSupportedModelFactory aclSupportedModelFactory,
                         IAddressAttributeFormatter addressAttributeFormatter,
                         IAddressAttributeModelFactory addressAttributeModelFactory,
                         IBaseAdminModelFactory baseAdminModelFactory,
                         IUserActivityService userActivityService,
                         IUserAttributeParser userAttributeParser,
                         IUserAttributeService userAttributeService,
                         IUserService userService,
                         IDateTimeHelper dateTimeHelper,
                         IExternalAuthenticationService externalAuthenticationService,
                         IGenericAttributeService genericAttributeService,
                         IGeoLookupService geoLookupService,
                         ILocalizationService localizationService,
                         INewsLetterSubscriptionService newsLetterSubscriptionService,
                         IPictureService pictureService,
                         MediaSettings mediaSettings)
 {
     this._addressSettings              = addressSettings;
     this._userSettings                 = userSettings;
     this._dateTimeSettings             = dateTimeSettings;
     this._aclSupportedModelFactory     = aclSupportedModelFactory;
     this._addressAttributeFormatter    = addressAttributeFormatter;
     this._addressAttributeModelFactory = addressAttributeModelFactory;
     this._baseAdminModelFactory        = baseAdminModelFactory;
     this._userActivityService          = userActivityService;
     this._userAttributeParser          = userAttributeParser;
     this._userAttributeService         = userAttributeService;
     this._userService    = userService;
     this._dateTimeHelper = dateTimeHelper;
     this._externalAuthenticationService = externalAuthenticationService;
     this._genericAttributeService       = genericAttributeService;
     this._geoLookupService              = geoLookupService;
     this._localizationService           = localizationService;
     this._newsLetterSubscriptionService = newsLetterSubscriptionService;
     this._pictureService = pictureService;
     this._mediaSettings  = mediaSettings;
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="addressService">Address service</param>
 /// <param name="workContext">Work context</param>
 /// <param name="taxSettings">Tax settings</param>
 /// <param name="pluginFinder">Plugin finder</param>
 /// <param name="geoLookupService">GEO lookup service</param>
 /// <param name="countryService">Country service</param>
 /// <param name="logger">Logger service</param>
 /// <param name="customerSettings">Customer settings</param>
 /// <param name="addressSettings">Address settings</param>
 public TaxService(IAddressService addressService,
                   IWorkContext workContext,
                   TaxSettings taxSettings,
                   IPluginFinder pluginFinder,
                   IGeoLookupService geoLookupService,
                   ICountryService countryService,
                   IServiceProvider serviceProvider,
                   ILogger logger,
                   CustomerSettings customerSettings,
                   AddressSettings addressSettings)
 {
     this._addressService   = addressService;
     this._workContext      = workContext;
     this._taxSettings      = taxSettings;
     this._pluginFinder     = pluginFinder;
     this._geoLookupService = geoLookupService;
     this._serviceProvider  = serviceProvider;
     this._logger           = logger;
     this._countryService   = countryService;
     this._customerSettings = customerSettings;
     this._addressSettings  = addressSettings;
 }
Ejemplo n.º 10
0
 public TaxService(
     IWorkContext workContext,
     IGroupService groupService,
     IGeoLookupService geoLookupService,
     ICountryService countryService,
     IEnumerable <ITaxProvider> taxProviders,
     ILogger logger,
     TaxSettings taxSettings,
     TaxProviderSettings taxProviderSettings,
     CustomerSettings customerSettings,
     AddressSettings addressSettings)
 {
     _workContext         = workContext;
     _groupService        = groupService;
     _taxSettings         = taxSettings;
     _taxProviderSettings = taxProviderSettings;
     _taxProviders        = taxProviders;
     _geoLookupService    = geoLookupService;
     _logger           = logger;
     _countryService   = countryService;
     _customerSettings = customerSettings;
     _addressSettings  = addressSettings;
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="addressService">Address service</param>
 /// <param name="workContext">Work context</param>
 /// <param name="storeContext">Store context</param>
 /// <param name="taxSettings">Tax settings</param>
 /// <param name="pluginFinder">Plugin finder</param>
 /// <param name="geoLookupService">GEO lookup service</param>
 /// <param name="countryService">Country service</param>
 /// <param name="stateProvinceService">State province service</param>
 /// <param name="logger">Logger service</param>
 /// <param name="customerSettings">Customer settings</param>
 /// <param name="shippingSettings">Shipping settings</param>
 /// <param name="addressSettings">Address settings</param>
 public WB_TaxService(IAddressService addressService,
                      IWorkContext workContext,
                      IStoreContext storeContext,
                      TaxSettings taxSettings,
                      IPluginFinder pluginFinder,
                      IGeoLookupService geoLookupService,
                      ICountryService countryService,
                      IStateProvinceService stateProvinceService,
                      ILogger logger,
                      CustomerSettings customerSettings,
                      ShippingSettings shippingSettings,
                      AddressSettings addressSettings) : base(addressService,
                                                              workContext,
                                                              storeContext,
                                                              taxSettings,
                                                              pluginFinder,
                                                              geoLookupService,
                                                              countryService,
                                                              stateProvinceService,
                                                              logger,
                                                              customerSettings,
                                                              shippingSettings,
                                                              addressSettings)
 {
     this._addressService       = addressService;
     this._workContext          = workContext;
     this._storeContext         = storeContext;
     this._taxSettings          = taxSettings;
     this._pluginFinder         = pluginFinder;
     this._geoLookupService     = geoLookupService;
     this._countryService       = countryService;
     this._stateProvinceService = stateProvinceService;
     this._logger           = logger;
     this._customerSettings = customerSettings;
     this._shippingSettings = shippingSettings;
     this._addressSettings  = addressSettings;
 }
Ejemplo n.º 12
0
        public void TestInitialize()
        {
            //plugin initialization
            new Services.Tests.ServiceTest().PluginInitializator();
            var serviceProvider = new Mock <IServiceProvider>();

            serviceProvider.Setup(x => x.GetService(typeof(FixedRateTestTaxProvider))).Returns(new FixedRateTestTaxProvider());
            _serviceProvider = serviceProvider.Object;

            _pluginFinder = new PluginFinder(_serviceProvider);
            _taxSettings  = new TaxSettings();
            _taxSettings.ActiveTaxProviderSystemName = "FixedTaxRateTest";
            _workContext      = null;
            _addressService   = new Mock <IAddressService>().Object;
            _geoLookupService = new Mock <IGeoLookupService>().Object;
            _countryService   = new Mock <ICountryService>().Object;
            _customerSettings = new CustomerSettings();
            _addressSettings  = new AddressSettings();
            _logger           = new NullLogger();

            _taxService = new TaxService(_addressService, _workContext,
                                         _pluginFinder, _geoLookupService, _countryService, _logger,
                                         _taxSettings, _customerSettings, _addressSettings);
        }
Ejemplo n.º 13
0
 public DirectoryController(ICountryService countryService, ICurrencyService currencyService, IGeoLookupService geoLookupService, IMeasureService measureService, IStateProvinceService stateProvinceService)
 {
     this._countryService       = countryService;
     this._currencyService      = currencyService;
     this._geoLookupService     = geoLookupService;
     this._measureService       = measureService;
     this._stateProvinceService = stateProvinceService;
 }
        public new void SetUp()
        {
            _workContext = null;

            _store = new Store {
                Id = 1
            };
            _storeContext = MockRepository.GenerateMock <IStoreContext>();
            _storeContext.Expect(x => x.CurrentStore).Return(_store);

            var pluginFinder = new PluginFinder();

            _shoppingCartSettings = new ShoppingCartSettings();
            _catalogSettings      = new CatalogSettings();

            var cacheManager = new NopNullCache();

            _productService = MockRepository.GenerateMock <IProductService>();

            //price calculation service
            _discountService     = MockRepository.GenerateMock <IDiscountService>();
            _categoryService     = MockRepository.GenerateMock <ICategoryService>();
            _manufacturerService = MockRepository.GenerateMock <IManufacturerService>();

            _productAttributeParser = MockRepository.GenerateMock <IProductAttributeParser>();
            _priceCalcService       = new PriceCalculationService(_workContext, _storeContext,
                                                                  _discountService, _categoryService, _manufacturerService,
                                                                  _productAttributeParser, _productService,
                                                                  cacheManager, _shoppingCartSettings, _catalogSettings);

            _eventPublisher = MockRepository.GenerateMock <IEventPublisher>();
            _eventPublisher.Expect(x => x.Publish(Arg <object> .Is.Anything));

            _localizationService = MockRepository.GenerateMock <ILocalizationService>();

            //shipping
            _shippingSettings = new ShippingSettings();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames = new List <string>();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add("FixedRateTestShippingRateComputationMethod");
            _shippingMethodRepository = MockRepository.GenerateMock <IRepository <ShippingMethod> >();
            _deliveryDateRepository   = MockRepository.GenerateMock <IRepository <DeliveryDate> >();
            _warehouseRepository      = MockRepository.GenerateMock <IRepository <Warehouse> >();
            _logger          = new NullLogger();
            _shippingService = new ShippingService(_shippingMethodRepository,
                                                   _deliveryDateRepository,
                                                   _warehouseRepository,
                                                   _logger,
                                                   _productService,
                                                   _productAttributeParser,
                                                   _checkoutAttributeParser,
                                                   _genericAttributeService,
                                                   _localizationService,
                                                   _addressService,
                                                   _shippingSettings,
                                                   pluginFinder,
                                                   _storeContext,
                                                   _eventPublisher,
                                                   _shoppingCartSettings,
                                                   cacheManager);
            _shipmentService = MockRepository.GenerateMock <IShipmentService>();


            _paymentService          = MockRepository.GenerateMock <IPaymentService>();
            _checkoutAttributeParser = MockRepository.GenerateMock <ICheckoutAttributeParser>();
            _giftCardService         = MockRepository.GenerateMock <IGiftCardService>();
            _genericAttributeService = MockRepository.GenerateMock <IGenericAttributeService>();

            _geoLookupService = MockRepository.GenerateMock <IGeoLookupService>();
            _countryService   = MockRepository.GenerateMock <ICountryService>();
            _customerSettings = new CustomerSettings();
            _addressSettings  = new AddressSettings();

            //tax
            _taxSettings = new TaxSettings();
            _taxSettings.ShippingIsTaxable = true;
            _taxSettings.PaymentMethodAdditionalFeeIsTaxable = true;
            _taxSettings.DefaultTaxAddressId = 10;
            _addressService = MockRepository.GenerateMock <IAddressService>();
            _addressService.Expect(x => x.GetAddressById(_taxSettings.DefaultTaxAddressId)).Return(new Address {
                Id = _taxSettings.DefaultTaxAddressId
            });
            _taxService = new TaxService(_addressService, _workContext, _taxSettings,
                                         pluginFinder, _geoLookupService, _countryService, _customerSettings, _addressSettings);

            _rewardPointService   = MockRepository.GenerateMock <IRewardPointService>();
            _rewardPointsSettings = new RewardPointsSettings();

            _orderTotalCalcService = new OrderTotalCalculationService(_workContext, _storeContext,
                                                                      _priceCalcService, _taxService, _shippingService, _paymentService,
                                                                      _checkoutAttributeParser, _discountService, _giftCardService,
                                                                      _genericAttributeService, _rewardPointService,
                                                                      _taxSettings, _rewardPointsSettings, _shippingSettings, _shoppingCartSettings, _catalogSettings);

            _orderService               = MockRepository.GenerateMock <IOrderService>();
            _webHelper                  = MockRepository.GenerateMock <IWebHelper>();
            _languageService            = MockRepository.GenerateMock <ILanguageService>();
            _priceFormatter             = MockRepository.GenerateMock <IPriceFormatter>();
            _productAttributeFormatter  = MockRepository.GenerateMock <IProductAttributeFormatter>();
            _shoppingCartService        = MockRepository.GenerateMock <IShoppingCartService>();
            _checkoutAttributeFormatter = MockRepository.GenerateMock <ICheckoutAttributeFormatter>();
            _customerService            = MockRepository.GenerateMock <ICustomerService>();
            _encryptionService          = MockRepository.GenerateMock <IEncryptionService>();
            _workflowMessageService     = MockRepository.GenerateMock <IWorkflowMessageService>();
            _customerActivityService    = MockRepository.GenerateMock <ICustomerActivityService>();
            _currencyService            = MockRepository.GenerateMock <ICurrencyService>();
            _affiliateService           = MockRepository.GenerateMock <IAffiliateService>();
            _vendorService              = MockRepository.GenerateMock <IVendorService>();
            _pdfService                 = MockRepository.GenerateMock <IPdfService>();

            _paymentSettings = new PaymentSettings
            {
                ActivePaymentMethodSystemNames = new List <string>
                {
                    "Payments.TestMethod"
                }
            };
            _orderSettings = new OrderSettings();

            _localizationSettings = new LocalizationSettings();

            _eventPublisher = MockRepository.GenerateMock <IEventPublisher>();
            _eventPublisher.Expect(x => x.Publish(Arg <object> .Is.Anything));

            _rewardPointService = MockRepository.GenerateMock <IRewardPointService>();
            _currencySettings   = new CurrencySettings();

            _orderProcessingService = new OrderProcessingService(_orderService, _webHelper,
                                                                 _localizationService, _languageService,
                                                                 _productService, _paymentService, _logger,
                                                                 _orderTotalCalcService, _priceCalcService, _priceFormatter,
                                                                 _productAttributeParser, _productAttributeFormatter,
                                                                 _giftCardService, _shoppingCartService, _checkoutAttributeFormatter,
                                                                 _shippingService, _shipmentService, _taxService,
                                                                 _customerService, _discountService,
                                                                 _encryptionService, _workContext,
                                                                 _workflowMessageService, _vendorService,
                                                                 _customerActivityService, _currencyService, _affiliateService,
                                                                 _eventPublisher, _pdfService, _rewardPointService,
                                                                 _shippingSettings, _paymentSettings, _rewardPointsSettings,
                                                                 _orderSettings, _taxSettings, _localizationSettings,
                                                                 _currencySettings);
        }
Ejemplo n.º 15
0
        public void TestInitialize()
        {
            new Grand.Services.Tests.ServiceTest().PluginInitializator();

            _workContext          = new Mock <IWorkContext>().Object;
            _stateProvinceService = new Mock <IStateProvinceService>().Object;

            _store = new Store {
                Id = "1"
            };
            var tempStoreContext = new Mock <IStoreContext>();

            {
                tempStoreContext.Setup(x => x.CurrentStore).Returns(_store);
                _storeContext = tempStoreContext.Object;
            }

            _productService = new Mock <IProductService>().Object;
            var tempEventPublisher = new Mock <IMediator>();
            {
                //tempEventPublisher.Setup(x => x.PublishAsync(It.IsAny<object>()));
                _eventPublisher = tempEventPublisher.Object;
            }

            var pluginFinder = new PluginFinder(_serviceProvider);
            var cacheManager = new TestMemoryCacheManager(new Mock <IMemoryCache>().Object, _eventPublisher);

            _discountService        = new Mock <IDiscountService>().Object;
            _categoryService        = new Mock <ICategoryService>().Object;
            _manufacturerService    = new Mock <IManufacturerService>().Object;
            _productAttributeParser = new Mock <IProductAttributeParser>().Object;
            _vendorService          = new Mock <IVendorService>().Object;
            _currencyService        = new Mock <ICurrencyService>().Object;
            _serviceProvider        = new Mock <IServiceProvider>().Object;

            _shoppingCartSettings   = new ShoppingCartSettings();
            _catalogSettings        = new CatalogSettings();
            _customerService        = new Mock <ICustomerService>().Object;
            _customerProductService = new Mock <ICustomerProductService>().Object;

            _priceCalcService = new PriceCalculationService(_workContext, _storeContext,
                                                            _discountService, _categoryService,
                                                            _manufacturerService, _productAttributeParser, _productService, _customerProductService,
                                                            _vendorService, _currencyService,
                                                            _shoppingCartSettings, _catalogSettings);


            _localizationService = new Mock <ILocalizationService>().Object;

            //shipping
            _shippingSettings = new ShippingSettings();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames = new List <string>();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add("FixedRateTestShippingRateComputationMethod");
            _shippingMethodRepository = new Mock <IRepository <ShippingMethod> >().Object;
            _deliveryDateRepository   = new Mock <IRepository <DeliveryDate> >().Object;
            _warehouseRepository      = new Mock <IRepository <Warehouse> >().Object;
            _logger                  = new NullLogger();
            _paymentService          = new Mock <IPaymentService>().Object;
            _checkoutAttributeParser = new Mock <ICheckoutAttributeParser>().Object;
            _giftCardService         = new Mock <IGiftCardService>().Object;
            _genericAttributeService = new Mock <IGenericAttributeService>().Object;
            _geoLookupService        = new Mock <IGeoLookupService>().Object;
            _countryService          = new Mock <ICountryService>().Object;
            _customerSettings        = new CustomerSettings();
            _addressSettings         = new AddressSettings();

            //tax
            _taxSettings = new TaxSettings();
            _taxSettings.ShippingIsTaxable = true;
            _taxSettings.PaymentMethodAdditionalFeeIsTaxable = true;
            _taxSettings.DefaultTaxAddressId = "10";

            _shippingService = new ShippingService(_shippingMethodRepository,
                                                   _deliveryDateRepository,
                                                   _warehouseRepository,
                                                   null,
                                                   _logger,
                                                   _productService,
                                                   _productAttributeParser,
                                                   _checkoutAttributeParser,
                                                   _localizationService,
                                                   _addressService,
                                                   _countryService,
                                                   _stateProvinceService,
                                                   pluginFinder,
                                                   _eventPublisher,
                                                   _currencyService,
                                                   cacheManager,
                                                   _shoppingCartSettings,
                                                   _shippingSettings);



            var tempAddressService = new Mock <IAddressService>();

            {
                tempAddressService.Setup(x => x.GetAddressByIdSettings(_taxSettings.DefaultTaxAddressId))
                .ReturnsAsync(new Address {
                    Id = _taxSettings.DefaultTaxAddressId
                });
                _addressService = tempAddressService.Object;
            }

            _taxService = new TaxService(_addressService, _workContext, pluginFinder, _geoLookupService, _countryService, _logger, _taxSettings, _customerSettings, _addressSettings);

            _rewardPointsSettings = new RewardPointsSettings();

            _orderTotalCalcService = new OrderTotalCalculationService(_workContext, _storeContext,
                                                                      _priceCalcService, _taxService, _shippingService, _paymentService,
                                                                      _checkoutAttributeParser, _discountService, _giftCardService,
                                                                      null, _productService, _currencyService, _taxSettings, _rewardPointsSettings,
                                                                      _shippingSettings, _shoppingCartSettings, _catalogSettings);
        }
        public new void SetUp()
        {
            _workContext = MockRepository.GenerateMock<IWorkContext>();

            _store = new Store { Id = 1 };
            _storeContext = MockRepository.GenerateMock<IStoreContext>();
            _storeContext.Expect(x => x.CurrentStore).Return(_store);

            _productService = MockRepository.GenerateMock<IProductService>();

            var pluginFinder = new PluginFinder();
            var cacheManager = new NopNullCache();

            _discountService = MockRepository.GenerateMock<IDiscountService>();
            _categoryService = MockRepository.GenerateMock<ICategoryService>();
            _productAttributeParser = MockRepository.GenerateMock<IProductAttributeParser>();

            _shoppingCartSettings = new ShoppingCartSettings();
            _catalogSettings = new CatalogSettings();

            _priceCalcService = new PriceCalculationService(_workContext, _storeContext,
                _discountService, _categoryService, _productAttributeParser,
                _productService, cacheManager,
                _shoppingCartSettings, _catalogSettings);

            _eventPublisher = MockRepository.GenerateMock<IEventPublisher>();
            _eventPublisher.Expect(x => x.Publish(Arg<object>.Is.Anything));

            _localizationService = MockRepository.GenerateMock<ILocalizationService>();

            //shipping
            _shippingSettings = new ShippingSettings();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames = new List<string>();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add("FixedRateTestShippingRateComputationMethod");
            _shippingMethodRepository = MockRepository.GenerateMock<IRepository<ShippingMethod>>();
            _deliveryDateRepository = MockRepository.GenerateMock<IRepository<DeliveryDate>>();
            _warehouseRepository = MockRepository.GenerateMock<IRepository<Warehouse>>();
            _logger = new NullLogger();
            _shippingService = new ShippingService(_shippingMethodRepository,
                _deliveryDateRepository,
                _warehouseRepository,
                _logger,
                _productService,
                _productAttributeParser,
                _checkoutAttributeParser,
                _genericAttributeService,
                _localizationService,
                _addressService,
                _shippingSettings,
                pluginFinder,
                _storeContext,
                _eventPublisher,
                _shoppingCartSettings,
                cacheManager);

            _paymentService = MockRepository.GenerateMock<IPaymentService>();
            _checkoutAttributeParser = MockRepository.GenerateMock<ICheckoutAttributeParser>();
            _giftCardService = MockRepository.GenerateMock<IGiftCardService>();
            _genericAttributeService = MockRepository.GenerateMock<IGenericAttributeService>();

            _eventPublisher = MockRepository.GenerateMock<IEventPublisher>();
            _eventPublisher.Expect(x => x.Publish(Arg<object>.Is.Anything));

            _geoLookupService = MockRepository.GenerateMock<IGeoLookupService>();
            _countryService = MockRepository.GenerateMock<ICountryService>();
            _customerSettings = new CustomerSettings();
            _addressSettings = new AddressSettings();

            //tax
            _taxSettings = new TaxSettings();
            _taxSettings.ShippingIsTaxable = true;
            _taxSettings.PaymentMethodAdditionalFeeIsTaxable = true;
            _taxSettings.DefaultTaxAddressId = 10;
            _addressService = MockRepository.GenerateMock<IAddressService>();
            _addressService.Expect(x => x.GetAddressById(_taxSettings.DefaultTaxAddressId)).Return(new Address { Id = _taxSettings.DefaultTaxAddressId });
            _taxService = new TaxService(_addressService, _workContext, _taxSettings,
                pluginFinder, _geoLookupService, _countryService, _customerSettings, _addressSettings);

            _rewardPointsSettings = new RewardPointsSettings();

            _orderTotalCalcService = new OrderTotalCalculationService(_workContext, _storeContext,
                _priceCalcService, _taxService, _shippingService, _paymentService,
                _checkoutAttributeParser, _discountService, _giftCardService, _genericAttributeService,
                _taxSettings, _rewardPointsSettings, _shippingSettings, _shoppingCartSettings, _catalogSettings);
        }
        public void TestInitialize()
        {
            _workContext = null;

            _store = new Store {
                Id = "1"
            };
            var tempStoreContext = new Mock <IStoreContext>();
            {
                tempStoreContext.Setup(x => x.CurrentStore).Returns(_store);
                _storeContext = tempStoreContext.Object;
            }

            var pluginFinder = new PluginFinder();

            _shoppingCartSettings = new ShoppingCartSettings();
            _catalogSettings      = new CatalogSettings();
            _currencySettings     = new CurrencySettings();

            var cacheManager = new TestMemoryCacheManager(new Mock <IMemoryCache>().Object);

            _productService = new Mock <IProductService>().Object;

            //price calculation service
            _discountService           = new Mock <IDiscountService>().Object;
            _categoryService           = new Mock <ICategoryService>().Object;
            _manufacturerService       = new Mock <IManufacturerService>().Object;
            _storeService              = new Mock <IStoreService>().Object;
            _customerService           = new Mock <ICustomerService>().Object;
            _productReservationService = new Mock <IProductReservationService>().Object;
            _currencyService           = new Mock <ICurrencyService>().Object;
            _auctionService            = new Mock <IAuctionService>().Object;

            _productAttributeParser = new Mock <IProductAttributeParser>().Object;
            _priceCalcService       = new PriceCalculationService(_workContext, _storeContext,
                                                                  _discountService, _categoryService, _manufacturerService,
                                                                  _productAttributeParser, _productService, _customerService,
                                                                  cacheManager, _vendorService, _storeService, _currencyService, _shoppingCartSettings, _catalogSettings);

            var tempEventPublisher = new Mock <IEventPublisher>();

            {
                tempEventPublisher.Setup(x => x.Publish(It.IsAny <object>()));
                _eventPublisher = tempEventPublisher.Object;
            }

            _localizationService = new Mock <ILocalizationService>().Object;

            //shipping
            _shippingSettings = new ShippingSettings();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames = new List <string>();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add("FixedRateTestShippingRateComputationMethod");
            _shippingMethodRepository = new Mock <IRepository <ShippingMethod> >().Object;
            _deliveryDateRepository   = new Mock <IRepository <DeliveryDate> >().Object;
            _warehouseRepository      = new Mock <IRepository <Warehouse> >().Object;
            _pickupPointRepository    = new Mock <IRepository <PickupPoint> >().Object;

            _logger          = new NullLogger();
            _shippingService = new ShippingService(_shippingMethodRepository,
                                                   _deliveryDateRepository,
                                                   _warehouseRepository,
                                                   _pickupPointRepository,
                                                   _logger,
                                                   _productService,
                                                   _productAttributeParser,
                                                   _checkoutAttributeParser,
                                                   _genericAttributeService,
                                                   _localizationService,
                                                   _addressService,
                                                   _shippingSettings,
                                                   pluginFinder,
                                                   _storeContext,
                                                   _eventPublisher,
                                                   _shoppingCartSettings,
                                                   cacheManager,
                                                   null);
            _shipmentService = new Mock <IShipmentService>().Object;


            tempPaymentService = new Mock <IPaymentService>();
            {
                _paymentService = tempPaymentService.Object;
            }
            _checkoutAttributeParser = new Mock <ICheckoutAttributeParser>().Object;
            _giftCardService         = new Mock <IGiftCardService>().Object;
            _genericAttributeService = new Mock <IGenericAttributeService>().Object;

            _geoLookupService = new Mock <IGeoLookupService>().Object;
            _countryService   = new Mock <ICountryService>().Object;
            _customerSettings = new CustomerSettings();
            _addressSettings  = new AddressSettings();

            //tax
            _taxSettings = new TaxSettings
            {
                ShippingIsTaxable = true,
                PaymentMethodAdditionalFeeIsTaxable = true,
                DefaultTaxAddressId = "10"
            };

            var tempAddressService = new Mock <IAddressService>();

            {
                tempAddressService.Setup(x => x.GetAddressByIdSettings(_taxSettings.DefaultTaxAddressId))
                .Returns(new Address {
                    Id = _taxSettings.DefaultTaxAddressId
                });
                _addressService = tempAddressService.Object;
            }

            _taxService = new TaxService(_addressService, _workContext, _taxSettings,
                                         pluginFinder, _geoLookupService, _countryService, _logger, _customerSettings, _addressSettings);

            _rewardPointsSettings = new RewardPointsSettings();

            _orderTotalCalcService = new OrderTotalCalculationService(_workContext, _storeContext,
                                                                      _priceCalcService, _taxService, _shippingService, _paymentService,
                                                                      _checkoutAttributeParser, _discountService, _giftCardService,
                                                                      _genericAttributeService, null, _productService, _currencyService,
                                                                      _taxSettings, _rewardPointsSettings, _shippingSettings, _shoppingCartSettings, _catalogSettings);

            _orderService               = new Mock <IOrderService>().Object;
            _webHelper                  = new Mock <IWebHelper>().Object;
            _languageService            = new Mock <ILanguageService>().Object;
            _priceFormatter             = new Mock <IPriceFormatter>().Object;
            _productAttributeFormatter  = new Mock <IProductAttributeFormatter>().Object;
            _shoppingCartService        = new Mock <IShoppingCartService>().Object;
            _checkoutAttributeFormatter = new Mock <ICheckoutAttributeFormatter>().Object;
            _encryptionService          = new Mock <IEncryptionService>().Object;
            _workflowMessageService     = new Mock <IWorkflowMessageService>().Object;
            _customerActivityService    = new Mock <ICustomerActivityService>().Object;
            _currencyService            = new Mock <ICurrencyService>().Object;
            _affiliateService           = new Mock <IAffiliateService>().Object;
            _vendorService              = new Mock <IVendorService>().Object;
            _pdfService                 = new Mock <IPdfService>().Object;

            _paymentSettings = new PaymentSettings
            {
                ActivePaymentMethodSystemNames = new List <string>
                {
                    "Payments.TestMethod"
                }
            };
            _orderSettings        = new OrderSettings();
            _localizationSettings = new LocalizationSettings();
            ICustomerActionEventService tempICustomerActionEventService = new Mock <ICustomerActionEventService>().Object;

            _currencySettings = new CurrencySettings();

            _orderProcessingService = new OrderProcessingService(_orderService, _webHelper,
                                                                 _localizationService, _languageService,
                                                                 _productService, _paymentService, _logger,
                                                                 _orderTotalCalcService, _priceCalcService, _priceFormatter,
                                                                 _productAttributeParser, _productAttributeFormatter,
                                                                 _giftCardService, _shoppingCartService, _checkoutAttributeFormatter,
                                                                 _shippingService, _shipmentService, _taxService,
                                                                 _customerService, _discountService,
                                                                 _encryptionService, _workContext,
                                                                 _workflowMessageService, _vendorService,
                                                                 _customerActivityService, tempICustomerActionEventService,
                                                                 _currencyService, _affiliateService,
                                                                 _eventPublisher, _pdfService, null, null, _storeContext, _productReservationService, _auctionService,
                                                                 _shippingSettings, _paymentSettings, _rewardPointsSettings,
                                                                 _orderSettings, _taxSettings, _localizationSettings);
        }