Example #1
0
        public void PromotionalRules_ProcessCartTest_IT_Aloe_CartItemsRemoved_PromoNotStarted()
        {
            var settings     = new OrderingTestSettings("it-IT", "1111111111");
            var promoAloeSku = HLConfigManager.CurrentPlatformConfigs[settings.Locale].ShoppingCartConfiguration.PromotionalSku = "X946";
            var beginDate    = HLConfigManager.CurrentPlatformConfigs[settings.Locale].ShoppingCartConfiguration.PromotionalBeginDate = "2013-07-01";
            var skus         = new List <string> {
                "2561", "2562"
            };
            var itCart = MyHLShoppingCartGenerator.GetBasicShoppingCart(settings.Distributor, settings.Locale, null, null, false, null,
                                                                        ShoppingCartItemHelper.GetDistributorShoppingCartItemList(settings.Locale, skus, skus.Count, 10),
                                                                        OrderCategoryType.RSO);

            var target = new Ordering.Rules.Promotional.it_IT.PromotionalRulesAloe();

            target.ProcessCart(itCart, ShoppingCartRuleReason.CartItemsRemoved);
            var ruleResult = itCart.RuleResults.FirstOrDefault(r => r.RuleName.Equals("Promotional Rules"));

            if (ruleResult != null && ruleResult.Result == RulesResult.Feedback)
            {
                Assert.IsNull(itCart.CartItems.FirstOrDefault(c => c.SKU.Equals(promoAloeSku)), "There is not promo sku in catalog items");
                return;
            }
            MyHLShoppingCartGenerator.PrepareAddToCart(itCart, ShoppingCartItemHelper.GetCartItem(1, 1, "2562"));
            Assert.AreEqual(true, ruleResult != null && ruleResult.Messages.Any(m => m.Equals("PromoOutOfDate")));
        }
Example #2
0
        public void ProcessCartTest()
        {
            var testSettings = new OrderingTestSettings("ru-RU", "79039381");
            var target       = new RulesEngine.APF.Global.APFRules();

            var cart = MyHLShoppingCartGenerator.GetBasicShoppingCart(
                testSettings.Distributor, testSettings.Locale, "", "", false, null, new List <DistributorShoppingCartItem>
            {
                ShoppingCartItemHelper.GetCatalogItems(1, 1, "1248", testSettings.Locale)
            }, OrderCategoryType.RSO);

            MyHLShoppingCartGenerator.PrepareAddToCart(cart, ShoppingCartItemHelper.GetCartItem(1, 1, "1248"));
            cart.ShoppingCartID = 1;

            List <ShoppingCartRuleResult> result = target.ProcessCart(
                cart, ShoppingCartRuleReason.CartItemsBeingAdded);

            if (result.Count > 0 && result[0].Messages.Count > 0)
            {
                Assert.AreEqual(
                    RulesResult.Failure,
                    result[0].Result,
                    "Please complete your annual fee purchase before adding other products to cart.");
            }
            else
            {
                Assert.Fail("May be APF is not due for this Distributor.");
            }
        }
        public void PurchasingLimitsTest_PH_Distributor()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-PH");
            var    target = new Ordering.Rules.PurchasingLimits.en_PH.PurchasingLimitRules();
            string DsId   = "37170799";
            string Local  = "en-PH";

            var distributor = DistributorOrderingProfileProvider.GetProfile(DsId, Local.Substring(3));

            MembershipUser  user      = Membership.GetUser(DsId);
            GenericIdentity identity  = new GenericIdentity(user.UserName);
            RolePrincipal   principal = new RolePrincipal(identity);

            System.Threading.Thread.CurrentPrincipal = principal;
            HttpContext.Current.User = principal;
            HttpRuntime.Cache.Insert("DISTR_" + DsId, distributor);
            var myHlShoppingCart = ShoppingCartProvider.GetShoppingCart(DsId, Local, false);

            myHlShoppingCart.CurrentItems = new ShoppingCartItemList();
            MyHLShoppingCartGenerator.PrepareAddToCart(myHlShoppingCart, ShoppingCartItemHelper.GetCartItem(1, 80, "0065"));
            var result = target.ProcessCart(myHlShoppingCart, ShoppingCartRuleReason.CartItemsBeingAdded);

            if (result.Count > 0 && result[0].Messages.Count == 0)
            {
                Assert.AreEqual(RulesResult.Unknown, result[0].Result);
            }
            else
            {
                Assert.Fail("Test Failed");
            }
        }
        public void PurchasingLimitsTest_PH_ForeignDistributor_Fail()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-PH");
            var    target      = new Ordering.Rules.PurchasingLimits.en_PH.PurchasingLimitRules();
            string DsId        = "WEBTEST1";
            string Local       = "en-PH";
            var    distributor = DistributorOrderingProfileProvider.GetProfile(DsId, Local.Substring(3));

            MembershipUser  user      = Membership.GetUser(DsId);
            GenericIdentity identity  = new GenericIdentity(user.UserName);
            RolePrincipal   principal = new RolePrincipal(identity);

            System.Threading.Thread.CurrentPrincipal = principal;
            HttpContext.Current.User = principal;
            HttpRuntime.Cache.Insert("DISTR_" + DsId, distributor);
            var myHlShoppingCart = ShoppingCartProvider.GetShoppingCart(DsId, Local, false);

            myHlShoppingCart.CurrentItems = new ShoppingCartItemList();
            MyHLShoppingCartGenerator.PrepareAddToCart(myHlShoppingCart, ShoppingCartItemHelper.GetCartItem(1, 80, "0065"));
            var result = target.ProcessCart(myHlShoppingCart, ShoppingCartRuleReason.CartItemsBeingAdded);

            if (result.Count > 0 && result[0].Messages.Count > 0)
            {
                Assert.AreEqual(result[0].Messages[0],
                                "Item SKU:0065 has not been added to the cart since by adding that into the cart, you exceeded your volume points  limit.");
            }
            else
            {
                Assert.Fail("Test Failed");
            }
        }
Example #5
0
        public void PromotionalRules_ProcessCartTest_IT_Aloe_CartItemsBeingRemoved_PromoSku()
        {
            var settings     = new OrderingTestSettings("it-IT", "1111111111");
            var promoAloeSku = HLConfigManager.CurrentPlatformConfigs[settings.Locale].ShoppingCartConfiguration.PromotionalSku;
            var skus         = new List <string> {
                "0118", "2561", "2562", promoAloeSku
            };
            var itCart = MyHLShoppingCartGenerator.GetBasicShoppingCart(settings.Distributor, settings.Locale, null, null, false, null,
                                                                        ShoppingCartItemHelper.GetDistributorShoppingCartItemList(settings.Locale, skus, skus.Count, 1),
                                                                        OrderCategoryType.RSO);

            MyHLShoppingCartGenerator.PrepareAddToCart(itCart, ShoppingCartItemHelper.GetCartItem(1, 1, promoAloeSku));

            var target = new Ordering.Rules.Promotional.it_IT.PromotionalRulesAloe();

            target.ProcessCart(itCart, ShoppingCartRuleReason.CartItemsBeingRemoved);
            Assert.IsNotNull(itCart.CartItems.Any(c => c.SKU.Equals(promoAloeSku)));
        }
Example #6
0
        public void PromotionalRules_ProcessCartTest_SG_PromoEnded()
        {
            var locale        = "en-SG";
            var distributorId = "1111111111";

            HLConfigManager.Configurations.ShoppingCartConfiguration.PromotionalEndDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
            var skus = new List <string> {
                "2561", "2562"
            };
            var sgCart = MyHLShoppingCartGenerator.GetBasicShoppingCart(distributorId, locale, null, null, false, null,
                                                                        ShoppingCartItemHelper.GetDistributorShoppingCartItemList(locale, skus, skus.Count, 1),
                                                                        OrderCategoryType.RSO);
            var target = new Ordering.Rules.Promotional.en_SG.PromotionalRules();

            MyHLShoppingCartGenerator.PrepareAddToCart(sgCart, ShoppingCartItemHelper.GetCartItem(1, 1, "2561"));
            var ruleResult = target.ProcessCart(sgCart, ShoppingCartRuleReason.CartItemsAdded).FirstOrDefault(r => r.RuleName.Equals("Promotional Rules"));

            Assert.AreEqual(true, ruleResult != null && ruleResult.Result == RulesResult.Unknown);
        }
        public void PerformRulesTest_Nicaragua_Fail()
        {
            var testSettings = new OrderingTestSettings("es-NI", "1111111111");
            var target       = new Ordering.Rules.SKULimitations.SamCam.SKULimitationsRules();

            var myHlShoppingCart = MyHLShoppingCartGenerator.GetBasicShoppingCart(
                testSettings.Distributor,
                testSettings.Locale,
                null,
                null,
                false,
                null,
                new List <DistributorShoppingCartItem>
            {
                ShoppingCartItemHelper.GetShoppingCartItem(1, 16, "2512"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0142"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0143"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0146"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "2638"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0242"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0105"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0106"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0102"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "2864"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "6240"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "6926"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "8602"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "8601"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "5451"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "7123"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0865"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "2514")
            },
                OrderCategoryType.RSO);

            // Adding a new item.
            MyHLShoppingCartGenerator.PrepareAddToCart(myHlShoppingCart, ShoppingCartItemHelper.GetCartItem(1, 16, "2511"));

            target.ProcessCart(myHlShoppingCart, ShoppingCartRuleReason.CartItemsBeingAdded);

            Assert.IsTrue(myHlShoppingCart.RuleResults.Count > 0, "Max NTS lines for Nicaragua should by 18");
        }
        public void ProcessCartTest_SamCam_Fail()
        {
            var testSettings = new OrderingTestSettings("es-SV", "1111111111");
            var target       = new Ordering.Rules.SKULimitations.SamCam.SKULimitationsRules();

            var myHlShoppingCart = MyHLShoppingCartGenerator.GetBasicShoppingCart(
                testSettings.Distributor,
                testSettings.Locale,
                null,
                null,
                false,
                null,
                new List <DistributorShoppingCartItem>
            {
                ShoppingCartItemHelper.GetShoppingCartItem(1, 15, "0141"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0142"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0143"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0146"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "2638"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0242"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0105"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0106"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0006"),
                ShoppingCartItemHelper.GetShoppingCartItem(1, 10, "0065"),
            },
                OrderCategoryType.ETO);

            // Adding a new item.
            MyHLShoppingCartGenerator.PrepareAddToCart(myHlShoppingCart, ShoppingCartItemHelper.GetCartItem(1, 15, "0122"));

            var totalItems = myHlShoppingCart.CartItems.Count;

            target.ProcessCart(myHlShoppingCart, ShoppingCartRuleReason.CartItemsBeingAdded);

            Assert.AreEqual(
                totalItems,
                myHlShoppingCart.ShoppingCartItems.Count,
                "you can not add TodayMagazine SKUs,Otherwise this will be deleted from your cart.");
        }
        public void SKULimitationsRules_ProcessCartTest_HN_Fail()
        {
            var settings = new OrderingTestSettings("es-HN", "1111111111");

            // Maximum sku number for HN should be 10
            var skus = new List <string> {
                "0141", "0142", "0143", "0146", "2638", "0242", "2864", "0105", "0106", "0006", "0065", "3150"
            };
            var linesInShoppingCart = 10;
            var qty    = 5;
            var target = new Ordering.Rules.SKULimitations.SamCam.SKULimitationsRules();

            var hnCart = MyHLShoppingCartGenerator.GetBasicShoppingCart(settings.Distributor, settings.Locale, null, null, false, null,
                                                                        ShoppingCartItemHelper.GetDistributorShoppingCartItemList(settings.Locale, skus, linesInShoppingCart, qty),
                                                                        OrderCategoryType.RSO);

            MyHLShoppingCartGenerator.PrepareAddToCart(hnCart, ShoppingCartItemHelper.GetCartItem(1, 1, "0102"));

            target.ProcessCart(hnCart, ShoppingCartRuleReason.CartItemsBeingAdded);
            var ruleResult = hnCart.RuleResults.Where(r => r.RuleName.Equals("SkuLimitation Rules")).FirstOrDefault();
            var failed     = ruleResult != null && ruleResult.Result == RulesResult.Failure;

            Assert.AreEqual(true, failed);
        }