public void GiveApplyWhenCartItemQuantityThresholdNotMetThenReturnCorrectly() { var discount = 28m; var cartItem = new CartItem(new Item() { Sku = "1", UnitPrice = 10.00m }, 3); var sut = new QuantityForPercentagePromotion(4, 50); sut.Apply(cartItem, _calculate); cartItem.LineTotal.Should().Be(30.00m); }
public void GiveApplyWhenCalledThenReturnCorrectly(decimal unitPrice, int cartItemQuantity, int percentageDiscount, int quantityAppliedAt, decimal expectedTotal) { var cartItem = new CartItem(new Item() { Sku = "1", UnitPrice = unitPrice }, cartItemQuantity); var sut = new QuantityForPercentagePromotion(quantityAppliedAt, percentageDiscount); sut.Apply(cartItem, _calculate); cartItem.LineTotal.Should().Be(expectedTotal); }
public void GivenApplyWhenItemIsNullThenReturn() { var sut = new QuantityForPercentagePromotion(1, 1); Assert.Throws <ArgumentNullException>(() => sut.Apply(null, null)); }