public void GetPrice_OfferApplied_SumWithDiscount() { //arrange var productsInBacket = new BasketProduct { BasketProductId = "1-1", Price = 10 }; var basketWithOffer = new BasketProductWithOffer { BasketProductId = "1-1", OfferPrice = 8 }; offerRepository.Setup(o => o.GetOffers()).Returns(new List<IOffer> { offer1.Object }); offer1.Setup(o => o.GetProductsWithOffersAttached(It.IsAny<IList<BasketProduct>>())).Returns(new List<BasketProductWithOffer> { basketWithOffer }); //act var result = priceCalculator.GetPrice(new List<BasketProduct> { productsInBacket }); //assert Assert.AreEqual(basketWithOffer.OfferPrice, result); }
public void GetPrice_NoOffersApplied_TotalSameAsProductValue() { //arrange var productsInBacket = new BasketProduct { BasketProductId = "1-1", Price = 10 }; offerRepository.Setup(o => o.GetOffers()).Returns(new List<IOffer> { offer1.Object }); offer1.Setup(o => o.GetProductsWithOffersAttached(It.IsAny<IList<BasketProduct>>())).Returns(new List<BasketProductWithOffer>()); //act var result = priceCalculator.GetPrice(new List<BasketProduct> { productsInBacket }); //assert Assert.AreEqual(productsInBacket.Price, result); }