public void CalculatedValuesShouldRemainTheSameAfterRoundTripConversion()
        {
            var orderInfo = DefaultFactoriesAndSharedFunctionality.CreateOrderInfo(DefaultFactoriesAndSharedFunctionality.CreateProductInfo(995, 1));

            orderInfo.Discounts.Add(DefaultFactoriesAndSharedFunctionality.CreateDefaultOrderDiscountWithPercentage(10));
            var orderData          = orderInfo.ToOrderData();
            var convertedOrderInfo = OrderInfo.CreateOrderInfoFromOrderData(orderData);

            Assert.AreEqual(orderInfo.Status, convertedOrderInfo.Status);
            Assert.AreEqual(orderInfo.DiscountAmountInCents, convertedOrderInfo.DiscountAmountInCents);
            Assert.AreEqual(orderInfo.GrandtotalInCents, convertedOrderInfo.GrandtotalInCents);
            Assert.AreEqual(orderInfo.SubtotalInCents, convertedOrderInfo.SubtotalInCents);
        }
예제 #2
0
        public void DiscountShouldGiveSameAmountForOrderAfterDeserialization()
        {
            var orderInfo = DefaultFactoriesAndSharedFunctionality.CreateOrderInfo(DefaultFactoriesAndSharedFunctionality.CreateProductInfo(1000, 1));
            var discount  = DefaultFactoriesAndSharedFunctionality.CreateDefaultOrderDiscountWithAmount(234, DiscountOrderCondition.None, 0);

            DefaultFactoriesAndSharedFunctionality.SetDiscountsOnOrderInfo(orderInfo, discount);
            var orderData          = orderInfo.ToOrderData();
            var convertedOrderInfo = OrderInfo.CreateOrderInfoFromOrderData(orderData);
            var convertedDiscount  = new uWebshop.Domain.OrderDTO.OrderDiscount(StoreHelper.CurrentLocalization, discount, orderInfo);

            //Assert.AreEqual(234, orderInfo.DiscountAmountInCents);
            //Assert.AreEqual(234, convertedOrderInfo.DiscountAmountInCents);
            var discountCalculator = IOC.DiscountCalculationService.Actual().Resolve();

            Assert.AreEqual(234, discountCalculator.DiscountAmountForOrder(discount, orderInfo));
            Assert.AreEqual(234, discountCalculator.DiscountAmountForOrder(discount, convertedOrderInfo));
            Assert.AreEqual(234, discountCalculator.DiscountAmountForOrder(convertedDiscount, orderInfo));
            Assert.AreEqual(234, discountCalculator.DiscountAmountForOrder(convertedDiscount, convertedOrderInfo));
        }
예제 #3
0
 public OrderInfo GetOrderInfo(string transactionId)
 {
     return(OrderInfo.CreateOrderInfoFromOrderData(uWebshopOrders.GetOrderInfo(transactionId)));
 }
예제 #4
0
        public OrderInfo GetOrderInfo(Guid uniqueOrderId)
        {
            var orderInfoData = uWebshopOrders.GetOrderInfo(uniqueOrderId);

            return(orderInfoData != null?OrderInfo.CreateOrderInfoFromOrderData(orderInfoData) : null);
        }