public new void SetUp()
        {
            _shippingSettings = new ShippingSettings();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames = new List <string>();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add("FixedRateTestShippingRateComputationMethod");

            _shippingMethodRepository = MockRepository.GenerateMock <IRepository <ShippingMethod> >();
            _storeMappingRepository   = MockRepository.GenerateMock <IRepository <StoreMapping> >();
            _productAttributeParser   = MockRepository.GenerateMock <IProductAttributeParser>();
            _productService           = MockRepository.GenerateMock <IProductService>();
            _checkoutAttributeParser  = MockRepository.GenerateMock <ICheckoutAttributeParser>();
            _services = MockRepository.GenerateMock <ICommonServices>();

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

            _genericAttributeService = MockRepository.GenerateMock <IGenericAttributeService>();
            _settingService          = MockRepository.GenerateMock <ISettingService>();
            _cartRuleProvider        = MockRepository.GenerateMock <ICartRuleProvider>();

            _shippingService = new ShippingService(
                _shippingMethodRepository,
                _storeMappingRepository,
                _productAttributeParser,
                _productService,
                _checkoutAttributeParser,
                _genericAttributeService,
                _shippingSettings,
                _settingService,
                this.ProviderManager,
                _services,
                _cartRuleProvider);
        }
        public new void SetUp()
        {
            _paymentSettings = new PaymentSettings();
            _paymentSettings.ActivePaymentMethodSystemNames = new List <string>();
            _paymentSettings.ActivePaymentMethodSystemNames.Add("Payments.TestMethod");

            _storeMappingRepository = MockRepository.GenerateMock <IRepository <StoreMapping> >();
            _storeMappingService    = MockRepository.GenerateMock <IStoreMappingService>();
            _cartRuleProvider       = MockRepository.GenerateMock <ICartRuleProvider>();

            _services = MockRepository.GenerateMock <ICommonServices>();
            _services.Expect(x => x.RequestCache).Return(NullRequestCache.Instance);

            var paymentMethods = new List <PaymentMethod> {
                new PaymentMethod {
                    PaymentMethodSystemName = "Payments.TestMethod"
                }
            };

            _paymentMethodRepository = MockRepository.GenerateMock <IRepository <PaymentMethod> >();
            _paymentMethodRepository.Expect(x => x.TableUntracked).Return(paymentMethods.AsQueryable());

            _typeFinder = MockRepository.GenerateMock <ITypeFinder>();
            _typeFinder.Expect(x => x.FindClassesOfType((Type)null, null, true)).IgnoreArguments().Return(Enumerable.Empty <Type>()).Repeat.Any();

            var localizationService = MockRepository.GenerateMock <ILocalizationService>();

            localizationService.Expect(ls => ls.GetResource(null)).IgnoreArguments().Return("NotSupported").Repeat.Any();

            _paymentService = new PaymentService(_paymentMethodRepository, _storeMappingRepository, _storeMappingService, _paymentSettings, _cartRuleProvider,
                                                 this.ProviderManager, _services, _typeFinder);
        }
Example #3
0
        public static async Task <bool> RuleMatchesAsync(this ICartRuleProvider provider, RuleExpression expression)
        {
            Guard.NotNull(provider, nameof(provider));
            Guard.NotNull(expression, nameof(expression));

            return(await provider.RuleMatchesAsync(new[] { expression }, LogicalRuleOperator.And));
        }
Example #4
0
        public ShippingService(
            IRepository <ShippingMethod> shippingMethodRepository,
            IRepository <StoreMapping> storeMappingRepository,
            IProductAttributeParser productAttributeParser,
            IProductService productService,
            ICheckoutAttributeParser checkoutAttributeParser,
            IGenericAttributeService genericAttributeService,
            ShippingSettings shippingSettings,
            ISettingService settingService,
            IProviderManager providerManager,
            ICommonServices services,
            ICartRuleProvider cartRuleProvider)
        {
            _shippingMethodRepository = shippingMethodRepository;
            _storeMappingRepository   = storeMappingRepository;
            _productAttributeParser   = productAttributeParser;
            _productService           = productService;
            _checkoutAttributeParser  = checkoutAttributeParser;
            _genericAttributeService  = genericAttributeService;
            _shippingSettings         = shippingSettings;
            _settingService           = settingService;
            _providerManager          = providerManager;
            _services         = services;
            _cartRuleProvider = cartRuleProvider;

            T             = NullLocalizer.Instance;
            Logger        = NullLogger.Instance;
            QuerySettings = DbQuerySettings.Default;
        }
Example #5
0
 public DiscountService(
     IRequestCache requestCache,
     IRepository <Discount> discountRepository,
     IRepository <DiscountUsageHistory> discountUsageHistoryRepository,
     IStoreContext storeContext,
     IGenericAttributeService genericAttributeService,
     ICartRuleProvider cartRuleProvider)
 {
     _requestCache                   = requestCache;
     _discountRepository             = discountRepository;
     _discountUsageHistoryRepository = discountUsageHistoryRepository;
     _storeContext                   = storeContext;
     _genericAttributeService        = genericAttributeService;
     _cartRuleProvider               = cartRuleProvider;
     _discountValidityCache          = new Dictionary <DiscountKey, bool>();
 }
 public ShippingService(
     ICheckoutAttributeMaterializer checkoutAttributeMaterializer,
     ICartRuleProvider cartRuleProvider,
     ShippingSettings shippingSettings,
     IProviderManager providerManager,
     ISettingFactory settingFactory,
     IWorkContext workContext,
     SmartDbContext db)
 {
     _checkoutAttributeMaterializer = checkoutAttributeMaterializer;
     _cartRuleProvider = cartRuleProvider;
     _shippingSettings = shippingSettings;
     _providerManager  = providerManager;
     _settingFactory   = settingFactory;
     _workContext      = workContext;
     _db = db;
 }
        public new void SetUp()
        {
            _discountRepo = MockRepository.GenerateMock <IRepository <Discount> >();
            var discount1 = new Discount
            {
                Id                 = 1,
                DiscountType       = DiscountType.AssignedToCategories,
                Name               = "Discount 1",
                UsePercentage      = true,
                DiscountPercentage = 10,
                DiscountAmount     = 0,
                DiscountLimitation = DiscountLimitationType.Unlimited,
                LimitationTimes    = 0,
            };
            var discount2 = new Discount
            {
                Id                 = 2,
                DiscountType       = DiscountType.AssignedToSkus,
                Name               = "Discount 2",
                UsePercentage      = false,
                DiscountPercentage = 0,
                DiscountAmount     = 5,
                RequiresCouponCode = true,
                CouponCode         = "SecretCode",
                DiscountLimitation = DiscountLimitationType.NTimesPerCustomer,
                LimitationTimes    = 3,
            };

            _discountRepo.Expect(x => x.Table).Return(new List <Discount> {
                discount1, discount2
            }.AsQueryable());

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

            _discountUsageHistoryRepo = MockRepository.GenerateMock <IRepository <DiscountUsageHistory> >();
            _genericAttributeService  = MockRepository.GenerateMock <IGenericAttributeService>();
            _cartRuleProvider         = MockRepository.GenerateMock <ICartRuleProvider>();

            _discountService = new DiscountService(NullRequestCache.Instance, _discountRepo, _discountUsageHistoryRepo, _storeContext, _genericAttributeService, _cartRuleProvider);
        }
Example #8
0
 public PaymentService(
     IRepository <PaymentMethod> paymentMethodRepository,
     IRepository <StoreMapping> storeMappingRepository,
     IStoreMappingService storeMappingService,
     PaymentSettings paymentSettings,
     ICartRuleProvider cartRuleProvider,
     IProviderManager providerManager,
     ICommonServices services,
     ITypeFinder typeFinder)
 {
     _paymentMethodRepository = paymentMethodRepository;
     _storeMappingRepository  = storeMappingRepository;
     _storeMappingService     = storeMappingService;
     _paymentSettings         = paymentSettings;
     _cartRuleProvider        = cartRuleProvider;
     _providerManager         = providerManager;
     _services   = services;
     _typeFinder = typeFinder;
 }
Example #9
0
        public PaymentService(
            IRepository <PaymentMethod> paymentMethodRepository,
            IRepository <StoreMapping> storeMappingRepository,
            IStoreMappingService storeMappingService,
            PaymentSettings paymentSettings,
            ICartRuleProvider cartRuleProvider,
            IProviderManager providerManager,
            ICommonServices services,
            ITypeFinder typeFinder)
        {
            _paymentMethodRepository = paymentMethodRepository;
            _storeMappingRepository  = storeMappingRepository;
            _storeMappingService     = storeMappingService;
            _paymentSettings         = paymentSettings;
            _cartRuleProvider        = cartRuleProvider;
            _providerManager         = providerManager;
            _services   = services;
            _typeFinder = typeFinder;

            T             = NullLocalizer.Instance;
            Logger        = NullLogger.Instance;
            QuerySettings = DbQuerySettings.Default;
        }
Example #10
0
 public RuleSetRule(IRuleFactory ruleFactory, ICartRuleProvider cartRuleProvider)
 {
     _ruleFactory      = ruleFactory;
     _cartRuleProvider = cartRuleProvider;
 }
Example #11
0
 public RuleSetRule(IRuleService ruleService, ICartRuleProvider cartRuleProvider)
 {
     _ruleService      = ruleService;
     _cartRuleProvider = cartRuleProvider;
 }
        public new void SetUp()
        {
            _workContext = null;
            _services    = MockRepository.GenerateMock <ICommonServices>();

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

            var pluginFinder = PluginFinder.Current;

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

            //price calculation service
            _discountService         = MockRepository.GenerateMock <IDiscountService>();
            _categoryService         = MockRepository.GenerateMock <ICategoryService>();
            _manufacturerService     = MockRepository.GenerateMock <IManufacturerService>();
            _productAttributeParser  = MockRepository.GenerateMock <IProductAttributeParser>();
            _productAttributeService = MockRepository.GenerateMock <IProductAttributeService>();
            _genericAttributeService = MockRepository.GenerateMock <IGenericAttributeService>();
            _eventPublisher          = MockRepository.GenerateMock <IEventPublisher>();
            _eventPublisher.Expect(x => x.Publish(Arg <object> .Is.Anything));

            _localizationService = MockRepository.GenerateMock <ILocalizationService>();
            _settingService      = MockRepository.GenerateMock <ISettingService>();
            _cartRuleProvider    = MockRepository.GenerateMock <ICartRuleProvider>();

            //shipping
            _shippingSettings = new ShippingSettings();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames = new List <string>();
            _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add("FixedRateTestShippingRateComputationMethod");
            _shippingMethodRepository = MockRepository.GenerateMock <IRepository <ShippingMethod> >();
            _storeMappingRepository   = MockRepository.GenerateMock <IRepository <StoreMapping> >();

            _shippingService = new ShippingService(
                _shippingMethodRepository,
                _storeMappingRepository,
                _productAttributeParser,
                _productService,
                _checkoutAttributeParser,
                _genericAttributeService,
                _shippingSettings,
                _settingService,
                this.ProviderManager,
                _services,
                _cartRuleProvider);

            _shipmentService = MockRepository.GenerateMock <IShipmentService>();

            _paymentService          = MockRepository.GenerateMock <IPaymentService>();
            _providerManager         = MockRepository.GenerateMock <IProviderManager>();
            _checkoutAttributeParser = MockRepository.GenerateMock <ICheckoutAttributeParser>();
            _giftCardService         = MockRepository.GenerateMock <IGiftCardService>();

            //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
            });
            _downloadService  = MockRepository.GenerateMock <IDownloadService>();
            _httpRequestBase  = MockRepository.GenerateMock <HttpRequestBase>();
            _geoCountryLookup = MockRepository.GenerateMock <IGeoCountryLookup>();

            _taxService = new TaxService(_addressService, _workContext, _taxSettings, _shoppingCartSettings, pluginFinder, _geoCountryLookup, this.ProviderManager);

            _rewardPointsSettings = new RewardPointsSettings();

            _priceCalcService = new PriceCalculationService(_discountService, _categoryService, _manufacturerService, _productAttributeParser, _productService,
                                                            _catalogSettings, _productAttributeService, _downloadService, _services, _httpRequestBase, _taxService, _taxSettings);

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

            _orderService                  = MockRepository.GenerateMock <IOrderService>();
            _webHelper                     = MockRepository.GenerateMock <IWebHelper>();
            _languageService               = MockRepository.GenerateMock <ILanguageService>();
            _productService                = MockRepository.GenerateMock <IProductService>();
            _priceFormatter                = MockRepository.GenerateMock <IPriceFormatter>();
            _productAttributeFormatter     = MockRepository.GenerateMock <IProductAttributeFormatter>();
            _shoppingCartService           = MockRepository.GenerateMock <IShoppingCartService>();
            _checkoutAttributeFormatter    = MockRepository.GenerateMock <ICheckoutAttributeFormatter>();
            _customerService               = MockRepository.GenerateMock <ICustomerService>();
            _encryptionService             = MockRepository.GenerateMock <IEncryptionService>();
            _messageFactory                = MockRepository.GenerateMock <IMessageFactory>();
            _customerActivityService       = MockRepository.GenerateMock <ICustomerActivityService>();
            _currencyService               = MockRepository.GenerateMock <ICurrencyService>();
            _affiliateService              = MockRepository.GenerateMock <IAffiliateService>();
            _newsLetterSubscriptionService = MockRepository.GenerateMock <INewsLetterSubscriptionService>();

            _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));

            _orderProcessingService = new OrderProcessingService(_orderService, _webHelper,
                                                                 _localizationService, _languageService,
                                                                 _productService, _paymentService,
                                                                 _orderTotalCalcService, _priceCalcService, _priceFormatter,
                                                                 _productAttributeParser, _productAttributeFormatter,
                                                                 _giftCardService, _shoppingCartService, _checkoutAttributeFormatter,
                                                                 _shippingService, _shipmentService, _taxService,
                                                                 _customerService, _discountService,
                                                                 _encryptionService, _workContext, _storeContext,
                                                                 _messageFactory, _customerActivityService, _currencyService, _affiliateService,
                                                                 _eventPublisher, _genericAttributeService,
                                                                 _newsLetterSubscriptionService,
                                                                 _paymentSettings, _rewardPointsSettings,
                                                                 _orderSettings, _taxSettings, _localizationSettings,
                                                                 _shoppingCartSettings,
                                                                 _catalogSettings);
        }