public async Task ValidData_ShouldReturnTask(string name, string description, string dueDateSource) { DateTime?dueDate = null; if (dueDateSource != null) { dueDate = DateTime.Parse(dueDateSource); } var input = new AddTodoInput(name, description, dueDate); AddTodoOutput output = null; Action <AddTodoOutput> onReceivedOutput = o => { output = o; }; _outputMock.Setup(o => o.Default(It.IsAny <AddTodoOutput>())).Callback(onReceivedOutput); await _useCase.Execute(input); Assert.NotNull(output); Assert.NotEqual(Guid.Empty, output.TaskId); Assert.Equal(name, output.TaskName); Assert.Equal(description, output.TaskDescription); Assert.Equal(dueDate, output.TaskDueDate); Assert.Single(_context.TodoTasks); Assert.Equal(_context.TodoTasks.First().Id, output.TaskId); Assert.Equal(_context.TodoTasks.First().Name, output.TaskName); Assert.Equal(_context.TodoTasks.First().Description, output.TaskDescription); Assert.Equal(_context.TodoTasks.First().DueDate, output.TaskDueDate); }
public void Default(AddTodoOutput output) { var response = new AddTodoTaskResponse { TaskId = output.TaskId, TaskName = output.TaskName, TaskDescription = output.TaskDescription, TaskDueDate = output.TaskDueDate, TaskIsCompleted = output.TaskIsCompleted }; ViewModel = new OkObjectResult(response); }