Exemple #1
0
        public void NoApplicable_Promo_On_Order_Items_Returns_TotalAmount()
        {
            var order = new Order(Guid.NewGuid());

            order.Add(new LineItem(DataSetHelper.GetProductBySKU("A"), 1));
            order.Add(new LineItem(DataSetHelper.GetProductBySKU("B"), 1));
            order.Add(new LineItem(DataSetHelper.GetProductBySKU("C"), 1));
            DataSetHelper.AddAllPromosToOrder(order);
            var total = order.CalculateOrderPrice();

            Assert.AreEqual(100, total);
        }
        public void WhenSingleApplicable_Promo_WithMultipleApplicableTimes_On_Order_Items_Returns_TotalAmountWithDiscount()
        {
            var order = new Order(Guid.NewGuid());

            order.Add(new LineItem(DataSetHelper.GetProductBySKU("A"), 7));
            order.Add(new LineItem(DataSetHelper.GetProductBySKU("B"), 1));
            order.Add(new LineItem(DataSetHelper.GetProductBySKU("C"), 1));
            DataSetHelper.AddAllPromosToOrder(order);
            var total = order.CalculateOrderPrice();

            Assert.AreEqual(360, total);
        }