예제 #1
0
        public async Task GivenCartWithItems_WhenCartIsCompleted_ThenAllItemsSavedToInventory()
        {
            CartCompleteSetup();
            UpdateCartService service = new UpdateCartService(_mockIRedisCacheClient.Object, _mockILogger.Object, _mockIConfiguration.Object, _mockGetCartItems.Object);

            var result = await service.CompleteCart("test", _mockIConnectionFactory.Object);

            Assert.AreEqual(true, result);
        }
예제 #2
0
        public async Task GivenCartWith2Items_WhenCartIsCompleted_Then2QueuesAreDeclared()
        {
            CartCompleteSetup();
            UpdateCartService service = new UpdateCartService(_mockIRedisCacheClient.Object, _mockILogger.Object, _mockIConfiguration.Object, _mockGetCartItems.Object);

            var result = await service.CompleteCart("test", _mockIConnectionFactory.Object);

            _mockIModel.Verify(x => x.QueueDeclare(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <IDictionary <string, object> >()), Times.Exactly(2));
        }
예제 #3
0
        public async Task GivenCartWithItems_WhenRequestedToRemoveAllItems_ThenAllItemsAreRemoved()
        {
            _mockIRedisCacheClient.Setup(x => x.GetDbFromConfiguration().RemoveAllAsync(It.IsAny <IEnumerable <string> >(), It.IsAny <CommandFlags>())).ReturnsAsync(new long());

            UpdateCartService service = new UpdateCartService(_mockIRedisCacheClient.Object, _mockILogger.Object, _mockIConfiguration.Object, _mockGetCartItems.Object);

            var result = await service.DeleteAllFromCart("");

            _mockIRedisCacheClient.Verify(x => x.GetDbFromConfiguration().RemoveAllAsync(It.IsAny <IEnumerable <string> >(), It.IsAny <CommandFlags>()), Times.Once);
        }
예제 #4
0
        public async Task GivenCartWithItems_WhenRequestedToRemoveIndividualItem_ThenOnlyThatItemIsRemoved()
        {
            _mockIRedisCacheClient.Setup(x => x.GetDbFromConfiguration().RemoveAsync(It.IsAny <string>(), It.IsAny <CommandFlags>())).ReturnsAsync(true);

            UpdateCartService service = new UpdateCartService(_mockIRedisCacheClient.Object, _mockILogger.Object, _mockIConfiguration.Object, _mockGetCartItems.Object);

            var result = await service.DeleteFromCart("1", "3");

            _mockIRedisCacheClient.Verify(x => x.GetDbFromConfiguration().RemoveAsync("1_3", It.IsAny <CommandFlags>()), Times.Once);
            _mockIRedisCacheClient.Verify(x => x.GetDbFromConfiguration().RemoveAsync("2_4", It.IsAny <CommandFlags>()), Times.Never);
        }
예제 #5
0
        public async Task GivenCartItem_WhenAddedToCart_ThenItemIsAddedToCart()
        {
            var cartItem = new CartItem();

            _mockIRedisCacheClient.Setup(x => x.GetDbFromConfiguration().AddAsync <CartItem>(It.IsAny <string>(), It.IsAny <CartItem>(),
                                                                                             It.IsAny <DateTimeOffset>(), It.IsAny <When>(), It.IsAny <CommandFlags>())).ReturnsAsync(true);
            UpdateCartService service = new UpdateCartService(_mockIRedisCacheClient.Object, _mockILogger.Object, _mockIConfiguration.Object, _mockGetCartItems.Object);
            var result = await service.AddToCart(cartItem);

            Assert.AreEqual(true, result);
        }