Ejemplo n.º 1
0
    private MerchantCheckoutFlowSupportShippingmethods GetGoogleShippingMethods()
    {
        ListItemCollection shippingCollection = CacheManager.GetCachedLookupTable(LookupDataEnum.GetShippingPoviders);

        MerchantCheckoutFlowSupportShippingmethods shipping = new MerchantCheckoutFlowSupportShippingmethods();

        shipping.Items = new object[shippingCollection.Count];
        int currentItem = 0;

        foreach (ListItem item in shippingCollection)
        {
            if (string.IsNullOrEmpty(item.Value))
            {
                continue;
            }
            FlatRateShipping rate = new FlatRateShipping();
            rate.name  = item.Text;
            rate.price = new FlatRateShippingPrice()
            {
                currency = "USD", Value = Orders.GetShippingCosts(Convert.ToInt32(item.Value))
            };
            shipping.Items[currentItem] = rate;
            currentItem++;
        }

        return(shipping);
    }
        public void FlatRateShippingOptionTest()
        {
            var flatRateShippingOption = new FlatRateShipping {
                FlatRate = 1.5m
            };
            var shippingAmount = flatRateShippingOption.GetAmount(new LineItem(), new Basket());

            Assert.That(shippingAmount, Is.EqualTo(1.5m), "Flat rate shipping not correct.");
        }
        public void BasketShippingTotalTest()
        {
            var perRegionShippingOption = new PerRegionShipping()
            {
                PerRegionCosts = new[]
                {
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.UK,
                        Amount = .75m
                    },
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.Europe,
                        Amount = 1.5m
                    }
                },
            };

            var flatRateShippingOption = new FlatRateShipping {
                FlatRate = 1.1m
            };

            var basket = new Basket()
            {
                LineItems = new List <LineItem>
                {
                    new LineItem()
                    {
                        DeliveryRegion = RegionShippingCost.Regions.UK,
                        Shipping       = perRegionShippingOption
                    },
                    new LineItem()
                    {
                        DeliveryRegion = RegionShippingCost.Regions.Europe,
                        Shipping       = perRegionShippingOption
                    },
                    new LineItem()
                    {
                        Shipping = flatRateShippingOption
                    },
                }
            };

            var calculator = new ShippingCalculator();

            decimal basketShipping = calculator.CalculateShipping(basket);

            Assert.That(basketShipping, Is.EqualTo(3.35m));
        }
        public void TotalShippingTest()
        {
            var perShippingOption = new PerRegionShipping()
            {
                PerRegionCosts = new[]
                {
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.UK,
                        Amount = .5m
                    },
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.Europe,
                        Amount = 1m
                    },
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.Europe,
                        Amount = 10m
                    },
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.RestOfTheWorld,
                        Amount = 2m
                    }
                },
            };

            var flatRateShippingOption = new FlatRateShipping {
                FlatRate = 1.5m
            };

            var basket = new Basket()
            {
                LineItems = new List <LineItem>
                {
                    new LineItem()
                    {
                        DeliveryRegion = RegionShippingCost.Regions.UK,
                        Shipping       = perShippingOption
                    },
                    new LineItem()
                    {
                        DeliveryRegion = RegionShippingCost.Regions.Europe,
                        Shipping       = perShippingOption
                    },
                    new LineItem()
                    {
                        DeliveryRegion = RegionShippingCost.Regions.Europe,
                        Shipping       = perShippingOption
                    },
                    new LineItem()
                    {
                        DeliveryRegion = RegionShippingCost.Regions.RestOfTheWorld,
                        Shipping       = perShippingOption
                    },
                    new LineItem()
                    {
                        Shipping = flatRateShippingOption
                    },
                }
            };

            var calculator = new ShippingCalculator();

            decimal basketShipping = calculator.CalculateShipping(basket);

            Assert.That(basketShipping, Is.EqualTo(15.5m), "Total Amount doest not match");
        }
Ejemplo n.º 5
0
        public void BasketShippingTotalTest()
        {
            var perRegionDiscountShippingOption = new PerRegionDiscountShipping()
            {
                SpecialRule_deducte = .5m,
                PerRegionCosts      = new[]
                {
                    new RegionShippingCost()
                    {
                        DestinationRegion = RegionShippingCost.Regions.UK,
                        Amount            = 6m
                    }
                }
            };

            var perRegionShippingOption = new PerRegionShipping()
            {
                PerRegionCosts = new[]
                {
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.UK,
                        Amount = .75m
                    },
                    new RegionShippingCost()
                    {
                        DestinationRegion =
                            RegionShippingCost.Regions.Europe,
                        Amount = 1.5m
                    }
                },
            };

            var flatRateShippingOption = new FlatRateShipping {
                FlatRate = 1.1m
            };

            var basket = new Basket()
            {
                LineItems = new List <LineItem>
                {
                    new LineItem()
                    {
                        Id             = 0,
                        DeliveryRegion = RegionShippingCost.Regions.UK,
                        Shipping       = perRegionDiscountShippingOption,
                        SupplierId     = 1
                    },
                    new LineItem()
                    {
                        Id             = 1,
                        DeliveryRegion = RegionShippingCost.Regions.UK,
                        Shipping       = perRegionDiscountShippingOption,
                        SupplierId     = 1
                    },
                    new LineItem()
                    {
                        Id             = 2,
                        DeliveryRegion = RegionShippingCost.Regions.UK,
                        Shipping       = perRegionShippingOption
                    },
                    new LineItem()
                    {
                        Id             = 3,
                        DeliveryRegion = RegionShippingCost.Regions.Europe,
                        Shipping       = perRegionShippingOption
                    },
                    new LineItem()
                    {
                        Shipping = flatRateShippingOption
                    },
                }
            };

            var calculator = new ShippingCalculator();

            decimal basketShipping = calculator.CalculateShipping(basket);

            Assert.That(basketShipping, Is.EqualTo(14.85m));
        }