Exemple #1
0
        public async Task DeleteProduct_CallsFileManagerRemoveFilesOnce()
        {
            // Arrange
            var product = new Product
            {
                ThumbNail = new Mock <Image>().Object
            };

            var prodManager = new Mock <IProductManager>();

            prodManager.Setup(x => x.GetProductById(It.IsAny <int>()))
            .ReturnsAsync(product);

            var fileManager = new Mock <IFileManager>();

            var productService = new ProductServiceBuilder()
                                 .WithProductManager(prodManager.Object)
                                 .WithFileManager(fileManager.Object)
                                 .Build();

            // Act
            var result = await productService.DeleteProduct(1);

            // Assert
            fileManager.Verify(x => x.RemoveFiles(It.IsAny <List <string> >()), Times.Once);
        }
Exemple #2
0
        public async Task DeleteProduct_ReturnsProductCRUDResultModelIsSuccessfulFalse_On_ProductException()
        {
            // Arrange
            var expectedException = new ProductException("msg");

            var prodManager = new Mock <IProductManager>();

            prodManager.Setup(x => x.GetProductById(It.IsAny <int>()))
            .ThrowsAsync(expectedException);

            var productService = new ProductServiceBuilder()
                                 .WithProductManager(prodManager.Object)
                                 .Build();

            // Act
            var result = await productService.DeleteProduct(1);

            // Assert
            Assert.False(result.IsSuccessful);
            Assert.Contains(expectedException.Message, result.Message);
        }
Exemple #3
0
        public async Task DeleteProduct_ReturnsProductCRUDResultModelIsSuccessfulTrue_IfNoExceptionsCatched()
        {
            // Arrange
            var product = new Product
            {
                ThumbNail = new Mock <Image>().Object
            };

            var prodManager = new Mock <IProductManager>();

            prodManager.Setup(x => x.GetProductById(It.IsAny <int>()))
            .ReturnsAsync(product);

            var productService = new ProductServiceBuilder()
                                 .WithProductManager(prodManager.Object)
                                 .Build();

            // Act
            var result = await productService.DeleteProduct(1);

            // Assert
            Assert.True(result.IsSuccessful);
        }