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); }
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)); }
public OrderInfo GetOrderInfo(string transactionId) { return(OrderInfo.CreateOrderInfoFromOrderData(uWebshopOrders.GetOrderInfo(transactionId))); }
public OrderInfo GetOrderInfo(Guid uniqueOrderId) { var orderInfoData = uWebshopOrders.GetOrderInfo(uniqueOrderId); return(orderInfoData != null?OrderInfo.CreateOrderInfoFromOrderData(orderInfoData) : null); }