示例#1
0
 public IActionResult Delete(int id)
 {
     try {
         productsService.DeleteProductById(id);
         return(Ok());
     }catch (Exception e) {
         return(ThrowInternalServerError(e));
     }
 }
示例#2
0
 public IActionResult DeleteProductById([FromRoute] Guid id)
 {
     try
     {
         var success = ProductsService.DeleteProductById(id);
         if (success)
         {
             return(Ok());
         }
         return(NotFound());
     }
     catch (Exception e)
     {
         Logger.LogCritical(e, "Error while deleting product");
         return(StatusCode(500));
     }
 }
示例#3
0
        public void DeleteProductById_ValidProduct_Success()
        {
            //arrange
            Mock <IProductsRepository>   mockProductRepo  = new Mock <IProductsRepository>();
            Mock <ICategoriesRepository> mockCategoryRepo = new Mock <ICategoriesRepository>();
            Mock <IMapper> mockMapper = new Mock <IMapper>();

            Category category = new Category
            {
                Name = "TestCategory"
            };
            CategoryDTO categoryDTO = new CategoryDTO
            {
                Name = "TestCategory"
            };

            Product product = new Product
            {
                Id          = 1,
                Name        = "Testowy",
                Description = "LoremipsumLoremipsumLoremipsumLoremipsumLoremipsum",
                Category    = category
            };
            ProductDTO productDTO = new ProductDTO
            {
                Id          = 1,
                Name        = "Testowy",
                Description = "LoremipsumLoremipsumLoremipsumLoremipsumLoremipsum",
                Category    = categoryDTO
            };

            ProductsService service = new ProductsService(mockProductRepo.Object, mockCategoryRepo.Object,
                                                          mockMapper.Object);

            mockMapper.Setup(m => m.Map <Product>(productDTO)).Returns(product);
            mockProductRepo.Setup(m => m.GetProductById(productDTO.Id)).Returns(product);

            //act
            service.DeleteProductById(productDTO.Id);

            //asserts
            mockProductRepo.Verify(m => m.Delete(product));
        }
        public void DeleteProductById_ShouldReturn_Success()
        {
            // Arrange
            fakeProductsRepository.Setup(a => a.DeleteById(1));
            productsService = new ProductsService(fakeProductsRepository.Object, new Mock <ICommonRepository>().Object);

            try
            {
                // Act
                productsService.DeleteProductById(1);
                operationSucceeded = true;
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message + " | " + ex.StackTrace;
            }

            // Assert
            Assert.IsTrue(operationSucceeded, errorMessage);
        }
示例#5
0
        public void DeleteProductById_InvalidProductId_ThrowsValidationException()
        {
            //arrange
            Mock <IProductsRepository>   mockProductRepo  = new Mock <IProductsRepository>();
            Mock <ICategoriesRepository> mockCategoryRepo = new Mock <ICategoriesRepository>();
            Mock <IMapper> mockMapper = new Mock <IMapper>();

            Category category = new Category
            {
                Name = "TestCategory"
            };
            CategoryDTO categoryDTO = new CategoryDTO
            {
                Name = "TestCategory"
            };

            Product product = new Product
            {
                Id          = 1,
                Name        = "Testowy",
                Description = "LoremipsumLoremipsumLoremipsumLoremipsumLoremipsum",
                Category    = category
            };
            ProductDTO productDTO = new ProductDTO
            {
                Id          = 1,
                Name        = "Testowy",
                Description = "LoremipsumLoremipsumLoremipsumLoremipsumLoremipsum",
                Category    = categoryDTO
            };

            ProductsService service = new ProductsService(mockProductRepo.Object, mockCategoryRepo.Object,
                                                          mockMapper.Object);

            mockMapper.Setup(m => m.Map <Product>(productDTO)).Returns(product);
            mockProductRepo.Setup(m => m.GetProductById(productDTO.Id)).Returns((Product)null);

            //act and asserts
            Assert.Throws <ValidationException>(() => { service.DeleteProductById(productDTO.Id); });
        }