Describe("DeleteTaskCommand", func() { var deleteTaskCommand cli.Command BeforeEach(func() { commandFactory := command_factory.NewTaskRunnerCommandFactory(fakeTaskRunner, terminalUI, fakeExitHandler) deleteTaskCommand = commandFactory.MakeDeleteTaskCommand() }) It("Deletes the given task", func() { taskInfo := task_examiner.TaskInfo{ TaskGuid: "task-guid-1", State: "COMPLETED", } fakeTaskExaminer.TaskStatusReturns(taskInfo, nil) fakeTaskRunner.DeleteTaskReturns(nil) test_helpers.ExecuteCommandWithArgs(deleteTaskCommand, []string{"task-guid-1"}) Expect(outputBuffer).To(test_helpers.SayLine(colors.Green("OK"))) }) It("returns error when fail to delete the task", func() { taskInfo := task_examiner.TaskInfo{ TaskGuid: "task-guid-1", State: "COMPLETED", } fakeTaskExaminer.TaskStatusReturns(taskInfo, nil) fakeTaskRunner.DeleteTaskReturns(errors.New("task in unknown state")) test_helpers.ExecuteCommandWithArgs(deleteTaskCommand, []string{"task-guid-1"})