public async void UpdateToDoItemHandler_IsVerifiable_ReturnsNotNullResult() { //Arrange var itemToUpdate = new ToDoListItem { Id = Guid.Parse("7a73db1a-f0a8-4937-a229-b9787ea2c54f"), Completed = true, Name = "test" }; var _serviceContextMock = new Mock <IServiceContext>(); _serviceContextMock.Setup(a => a.UpdateToDoItemStatus(itemToUpdate)).Verifiable(); _serviceContextMock.Setup(a => a.GetToDoListItemAsync(itemToUpdate.Id)).Returns(GetToDoListItemFromFileAsync(itemToUpdate.Id)).Verifiable(); JsonPatchDocument <ToDoItemUpdationDto> patch = new JsonPatchDocument <ToDoItemUpdationDto>(); patch.Replace(e => e.Completed, !itemToUpdate.Completed); var command = new UpdateToDoListItemStatusCommand(); command.Id = itemToUpdate.Id; command.UpdateItem = patch; IToDoListRepository _todoListRepository = new ToDoListRepository(_serviceContextMock.Object); UpdateToDoListItemStatusHandler handler = new UpdateToDoListItemStatusHandler(_todoListRepository, _mapper); //Act var _handler = await handler.Handle(command, new System.Threading.CancellationToken()); //Assert - verify able to call UpdateToDoListItemStatusHandler Assert.NotNull(handler); }
public async void UpdateToDoListItemStatus_ReturnsNoContentResult() { //Arrange var itemToUpdate = new ToDoListItem { Id = Guid.Parse("7a73db1a-f0a8-4937-a229-b9787ea2c54f"), Completed = true, Name = "test" }; var httpContext = new DefaultHttpContext(); var items = await GetToDoListItemsFromFileAsync(); JsonPatchDocument <ToDoItemUpdationDto> patch = new JsonPatchDocument <ToDoItemUpdationDto>(); patch.Replace(e => e.Completed, !itemToUpdate.Completed); UpdateToDoListItemStatusCommand command = new UpdateToDoListItemStatusCommand(); command.Id = itemToUpdate.Id; command.UpdateItem = patch; var mediator = new Mock <IMediator>(); mediator.Setup(m => m.Send(It.IsAny <UpdateToDoListItemStatusCommand>(), new System.Threading.CancellationToken())); var controller = new ToDoListController(mediator.Object) { ControllerContext = new ControllerContext() { HttpContext = httpContext, } }; //ACT var result = await controller.UpdateToDoListItemStatus(command.Id, command.UpdateItem); //ASSERT Assert.IsType <NoContentResult>(result); }