Esempio n. 1
0
        public async Task <IActionResult> Remove([FromBody][Required] RemoveTodoRequest request)
        {
            var input = new RemoveTodoInput(request.TaskId);
            await _useCase.Execute(input);

            return(_presenter.ViewModel);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }