public IActionResult Delete(int id) { try { productsService.DeleteProductById(id); return(Ok()); }catch (Exception e) { return(ThrowInternalServerError(e)); } }
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)); } }
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); }
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); }); }