public void AppliesAdjustment() { const decimal orderTotal = 100.0m; var applier = new DiscountCodeApplier(DiscountCode(10.0m)); var adjustment = applier.DiscountAdjustment(orderTotal); Assert.IsNotNull(adjustment); Assert.AreEqual(-10.0m, adjustment.Amount); }
public void ApplyDiscountCode(Order order, string code) { var discountCode = _discountCodeQueryService.FindByCode(code); var applier = new DiscountCodeApplier(discountCode); AddAdjustment(order, applier.DiscountAdjustment(order.Total)); OrderCalculator.Calculate(order); _orderRepository.Update(order); }