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);
        }
Пример #2
0
        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);
        }