예제 #1
0
        public void NoTieneDescuentoCuandoElMontoEsMenorAMil()
        {
            OrderServices orderServices = new OrderServices(new MyDummyBd());

            var discount = orderServices.CalculateDiscount(900, CustomerCategory.Good);

            Assert.AreEqual(0, discount);
        }
        public void CalculateTotal_WithoutCoupon_ReturnLineItemTotal()
        {
            Order order = new Order { ItemTotal = 100 };
            OrderServices orderServices = new OrderServices(new DataAccess());

            var total = orderServices.CalculateTotal(order);

            Assert.AreEqual(100, total);
        }
        public void CalculateTotal_WithCoupon_ReturnLineItemWithDiscount()
        {
            Order order = new Order { Coupon = "christmas", ItemTotal = 100 };
            OrderServices orderServices = new OrderServices(new DataAccess());

            var total = orderServices.CalculateTotal(order);

            Assert.AreEqual(90, total);
        }
        public void Save_ValidOrder_TheOrderIsPersisted()
        {
            Order order = new Order { Id = 1, ItemTotal = 100, Total = 110 };
            var dataAccess = new SimpleDataAccess();
            OrderServices orderProcessor = new OrderServices(dataAccess);

            orderProcessor.Save(order);

            Assert.AreEqual(order, dataAccess.OrderSaved);
        }
        public void Save_ValidOrder_TheOrderIsPersisted()
        {
            Order order = new Order { Id = 1, ItemTotal = 100, Total = 110 };
            var dataAccess = new Mock<IDataAccess>();
            OrderServices orderProcessor = new OrderServices(dataAccess.Object);

            orderProcessor.Save(order);

            dataAccess.Verify(x => x.SaveOrder(order));
        }
        public void Save_ValidOrder_TheOrderIsPersisted()
        {
            Order order = new Order { Id = 1, ItemTotal = 100, Total = 110 };
            OrderServices orderProcessor = new OrderServices(new DataAccess());

            orderProcessor.Save(order);

            Order orderFromDb = orderProcessor.GetOrder(order.Id);
            Assert.IsNotNull(orderFromDb);
        }
        public void CalculateTotal_WithCoupon_ReturnLineItemWithDiscount()
        {
            Order order = new Order { Coupon = "christmas", ItemTotal = 100 };
            var dataAccess = new SimpleDataAccess();
            dataAccess.CouponPercentage = 10;
            OrderServices orderServices = new OrderServices(dataAccess);

            var total = orderServices.CalculateTotal(order);

            Assert.AreEqual(90, total);
        }
        public void CalculateTotal_WithCoupon_ReturnLineItemWithDiscount()
        {
            Order order = new Order { Coupon = "christmas", ItemTotal = 100 };
            var dataAccess = new Mock<IDataAccess>();
            dataAccess.Setup(x => x.GetPromotionalDiscount(order.Coupon)).Returns(10);
            OrderServices orderServices = new OrderServices(dataAccess.Object);

            var total = orderServices.CalculateTotal(order);

            Assert.AreEqual(90, total);
        }
예제 #9
0
        public void TieneDescuentoSiElMontoEsMayorAMil()
        {
            var stub = new Mock<IDiscountDB>();
            stub.Setup(x => x.GetDiscount(CustomerCategory.Good)).Returns(10);

            OrderServices orderServices = new OrderServices(stub.Object);

            var discount = orderServices.CalculateDiscount(1900, CustomerCategory.Good);

            Assert.AreEqual(190, discount);
        }
예제 #10
0
        public void AlmacenaLaOrdenSiEsElTotalEsMayorACero()
        {
            var mock = new Mock<IDiscountDB>();

            OrderServices orderServices = new OrderServices(mock.Object);
            Order order = new Order { Id = 1234, Total = 100 };

            orderServices.Save(order);

            mock.Verify(x=>x.Save(order));
        }