public async Task DeleteAsync_Returns_NoContent()
        {
            //Arrange
            const int id = 1;

            //Act
            var result = await _productsController.DeleteAsync(id);

            //Assert
            result.Should().BeOfType <NoContentResult>();
        }
Esempio n. 2
0
        public async Task DeleteProduct()
        {
            //Arrange
            mockRepo.Setup(p => p.DeleteProduct(1)).Returns(Task.FromResult(1));

            // Act
            var result = await controller.DeleteAsync(1);

            // Assert
            Assert.IsType <OkResult>(result);
        }
        public async Task Delete_NotExistingProduct_ReturnsNotFoundResult(string id)
        {
            var commandHandlerMock = new Mock <IProductCommandsHandler>();

            commandHandlerMock.Setup(handler => handler.DeleteAsync(id)).ReturnsAsync(false);

            var productController = new ProductsController(commandHandlerMock.Object, GetProductQueriesHandler(), null);
            var result            = await productController.DeleteAsync(id);

            Assert.IsInstanceOf <NotFoundResult>(result);
        }
        public async Task Delete_OnInnerException_ReturnsStatusCode500(string id)
        {
            var commandHandlerMock = new Mock <IProductCommandsHandler>();

            commandHandlerMock.Setup(handler => handler.DeleteAsync(id)).ThrowsAsync(new Exception());

            var productController = new ProductsController(commandHandlerMock.Object, GetProductQueriesHandler(), null);
            var result            = await productController.DeleteAsync(id);

            Assert.IsInstanceOf <StatusCodeResult>(result);
            Assert.AreEqual(500, ((StatusCodeResult)result).StatusCode);
        }
Esempio n. 5
0
        public async void DeleteAsync_ValidId_ReturnNoContentStatus()
        {
            //Arrange
            _productService.Setup(s => s.GetProductByIdAsync(It.IsAny <Guid>())).ReturnsAsync(new Product());

            var productsController = new ProductsController(_productService.Object, _mapper.Object);

            //Act
            var result = await productsController.DeleteAsync(new Guid());

            //Assert
            var noContentResult = Assert.IsType <NoContentResult>(result);

            Assert.Equal(204, noContentResult.StatusCode);
        }
Esempio n. 6
0
        public async Task DELETE_BadResult_ErrorMsgMatch()
        {
            var product         = OneProduct();
            var productResponse = new ProductResponse("Invalid Product ID");
            var saveProduct     = OneSaveProductResource();

            var productService = new Mock <IProductService>();

            productService.Setup(x => x.DeleteAsync(product.Id)).ReturnsAsync(
                productResponse
                );

            var sut_productController = new ProductsController(productService.Object, BuildMapper());

            var result = await sut_productController.DeleteAsync(product.Id) as BadRequestObjectResult;

            Assert.Equal(productResponse.Message, result.Value);
        }
Esempio n. 7
0
        public async Task DELETE_OKResult()
        {
            var product         = OneProduct();
            var productResponse = new ProductResponse(product);
            var saveProduct     = OneSaveProductResource();

            var productService = new Mock <IProductService>();

            productService.Setup(x => x.DeleteAsync(product.Id)).ReturnsAsync(
                productResponse
                );

            var sut_productController = new ProductsController(productService.Object, BuildMapper());

            var result = await sut_productController.DeleteAsync(product.Id) as OkObjectResult;

            Assert.IsType <OkObjectResult>(result);
        }
Esempio n. 8
0
        public async Task DeleteAsyncNotFoundTest()
        {
            // Arrange
            var productResponse = new ProductResponse("error");

            var service = new Mock <IProductService>();

            service.Setup(e => e.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(productResponse);
            service.Setup(e => e.DeleteAsync(It.IsAny <int>())).ReturnsAsync(productResponse);

            var controller = new ProductsController(service.Object, _mapper);

            // Act
            var result = await controller.DeleteAsync(1);

            // Assert
            Assert.IsType <BadRequestObjectResult>(result);
        }
Esempio n. 9
0
        public async Task DeleteAsyncOkTest()
        {
            var product         = ProductGenerator.GetTestProduct();
            var productResponse = new ProductResponse(product);

            var service = new Mock <IProductService>();

            service.Setup(e => e.DeleteAsync(It.IsAny <int>())).ReturnsAsync(productResponse);

            var controller = new ProductsController(service.Object, _mapper);

            // Act
            var result = await controller.DeleteAsync(1);

            //Assert
            var actionResult    = Assert.IsType <OkObjectResult>(result);
            var productResource = Assert.IsAssignableFrom <ProductResource>(actionResult.Value);

            ProductAssertHelper.AssertEquals(productResponse, productResource);
        }