public async Task UpdateProductCommandHandlerAsync_WithNullParameter_ThrowsException() { //Arrange UpdateProductCommandRequest command = null; //Act var actualException = await Assert.ThrowsAsync <Exception>(() => _updateProductCommandHandler.Handle(command, new CancellationToken())); //Assert Assert.Equal(MessageConstants.UpdateProductCommandRequestNull, actualException.Message); }
public async Task UpdateProductCommandHandlerAsync_WithNullId_ThrowsException() { //Arrange var command = new UpdateProductCommandRequest { Id = Guid.Empty }; //Act var actualException = await Assert.ThrowsAsync <Exception>(() => _updateProductCommandHandler.Handle(command, new CancellationToken())); //Assert Assert.Equal(MessageConstants.UpdateProductCommandRequestIdNull, actualException.Message); }
public async Task UpdateProductCommandHandlerAsync_WitNonExistingProduct_ThrowsException() { //Arrange var command = new UpdateProductCommandRequest { Id = Guid.NewGuid() }; _mockUnitOfWork.Setup(x => x.ProductRepository.GetById(command.Id)).Returns(Task.FromResult <Product>(null)); //Act var actualException = await Assert.ThrowsAsync <Exception>(() => _updateProductCommandHandler.Handle(command, new CancellationToken())); //Assert Assert.Equal(MessageConstants.ProductNotFound, actualException.Message); }
public async Task UpdateProductCommandHandlerAsync_WithValidParameters_UpdateProduct() { //Arrange var command = new UpdateProductCommandRequest { Id = Guid.NewGuid(), Description = "oldDescription", StockQuantity = 5, Title = "oldTitle" }; var product = Product.Create("newDescription", 15, "newTitle", Category.Create(1, "HouseHoldAppliences", 10)); _mockUnitOfWork.Setup(x => x.ProductRepository.GetById(command.Id)).Returns(Task.FromResult(product)); _mockUnitOfWork.Setup(x => x.ProductRepository.Update(product)).Verifiable(); _mockUnitOfWork.Setup(x => x.SaveChanges()).Verifiable(); //Act var actualResult = await _updateProductCommandHandler.Handle(command, new CancellationToken()); //Assert Assert.True(actualResult.IsSuccess); }
public async Task <ActionResult <UpdateProductCommandResponse> > UpdateProduct(UpdateProductCommandRequest requestModel) { var productUpdateResult = await Mediator.Send(requestModel); return(productUpdateResult); }