public async Task <IActionResult> Remove([FromBody][Required] RemoveTodoRequest request) { var input = new RemoveTodoInput(request.TaskId); await _useCase.Execute(input); return(_presenter.ViewModel); }
public async Task NonExistentId_ShouldOutputError() { var input = new RemoveTodoInput(Guid.Parse("79c2de5f-da7b-4576-9f2a-b92e675dad3c")); await _useCase.Execute(input); _outputMock.Verify(o => o.Error(It.Is <string>(s => s == "There is no task with this ID."))); _outputMock.VerifyNoOtherCalls(); }
public async Task ValidId_ShouldRemoveTask() { var firstTask = await SetupNewTaskAsync("First Task", "Description", new DateTime(2019, 8, 20)); var secondTask = await SetupNewTaskAsync("Second Task", null, new DateTime(2020, 1, 1)); var input = new RemoveTodoInput(firstTask.Id); await _useCase.Execute(input); Assert.NotNull(_output); Assert.Equal(firstTask.Id, _output.Id); Assert.Single(_context.TodoTasks); Assert.Equal(secondTask.Id, _context.TodoTasks.First().Id); }
public async Task Execute(RemoveTodoInput input) { if (input is null) { throw new Exception(); } if (!await _repository.Exists(input.Id)) { _output.Error("There is no task with this ID."); return; } var deletedTask = await _repository.Remove(input.Id); _output.Default(new RemoveTodoOutput(deletedTask)); }