public void Checkout_SavesBillToSalesHistory() { //Arrange var salesHistoryServiceMock = GetSalesHistoryServiceMockWithActions(); var productsBasket = new ProductsBasket(salesHistoryServiceMock.Object, null, GetDataServiceWithNoSetup()); //Act var bill = productsBasket.Checkout(); //Assert salesHistoryServiceMock.Verify(m => m.Add(It.IsAny <Bill>()), Times.Once); bill.Should().NotBeNull(); }
public void Checkout_ContainsAllDiscountsFromProvider() { //Arrange var discountsProviderMock = new Mock <IDiscountRulesService>(); var discountRules = new[] { new Mock <IDiscountRule>().Object, new Mock <IDiscountRule>().Object, new Mock <IDiscountRule>().Object }; discountsProviderMock.Setup(m => m.GetAllDiscountRules()).Returns(discountRules); var productsBasket = new ProductsBasket(GetSalesHistoryServiceWithNoSetup(), discountsProviderMock.Object, GetDataServiceWithNoSetup()); //Act var bill = productsBasket.Checkout(); //Assert bill.DiscountsRules.Should().BeEquivalentTo(discountRules); }
private void InitSession() { _productBasket = _httpContext.Session["Products"] as ProductsBasket; if (_productBasket == null) { _httpContext.Session["Products"] = new ProductsBasket(); _productBasket = _httpContext.Session["Products"] as ProductsBasket; for (int i = 1; i <= 15; i++) { _productBasket.Products.Add(new Product() { Id = Guid.NewGuid(), Name = "Product" + i, Quantity = rnd.Next(1, 1000), unit = (Units)Enum.GetValues(typeof(Units)).GetValue(rnd.Next(5)), DateOfCreate = DateTime.Now }); } } }