Exemplo n.º 1
0
        public void Adding_an_item_to_a_basket_with_an_invalid_product_code_should_throw_exception()
        {
            var mockProductManager     = new Mock <IProductManager>();
            var basketRepository       = new Mock <IBasketRepository>();
            var specialOfferRepository = new Mock <ISpecialOfferRepository>();

            mockProductManager.Setup(x => x.GetAllProducts()).ReturnsAsync(() => productList);
            basketRepository.Setup(x => x.AddItemToBasket(It.IsAny <BasketItem>()));

            var basketManager = new BasketManager(mockProductManager.Object, basketRepository.Object,
                                                  specialOfferRepository.Object);

            Action act = async() => await basketManager.AddItemToBasket("F123");

            act.Should().Throw <ProductNotFoundException>();
        }
Exemplo n.º 2
0
        public async Task Adding_an_item_to_a_basket_with_a_valid_product_code_works_correctly()
        {
            var mockProductManager     = new Mock <IProductManager>();
            var basketRepository       = new Mock <IBasketRepository>();
            var specialOfferRepository = new Mock <ISpecialOfferRepository>();

            mockProductManager.Setup(x => x.GetAllProducts()).ReturnsAsync(() => productList);
            basketRepository.Setup(x => x.AddItemToBasket(It.IsAny <BasketItem>()));

            var basketManager = new BasketManager(mockProductManager.Object, basketRepository.Object,
                                                  specialOfferRepository.Object);

            Func <Task> action = async() => { await basketManager.AddItemToBasket("A99"); };

            action.Should().NotThrow <ProductNotFoundException>();
        }