BeforeEach(func() { commandFactory := droplet_runner_command_factory.NewDropletRunnerCommandFactory(appRunnerCommandFactory, fakeBlobStoreVerifier, fakeTaskExaminer, fakeDropletRunner, nil, fakeZipper, config) removeDropletCommand = commandFactory.MakeRemoveDropletCommand() }) It("removes the droplet", func() { test_helpers.ExecuteCommandWithArgs(removeDropletCommand, []string{"droppo"}) Expect(outputBuffer).To(test_helpers.SayLine("Droplet removed")) Expect(fakeDropletRunner.RemoveDropletCallCount()).To(Equal(1)) Expect(fakeDropletRunner.RemoveDropletArgsForCall(0)).To(Equal("droppo")) }) Context("when the droplet runner returns errors", func() { It("prints an error", func() { fakeDropletRunner.RemoveDropletReturns(errors.New("failed")) test_helpers.ExecuteCommandWithArgs(removeDropletCommand, []string{"droppo"}) Expect(outputBuffer).To(test_helpers.SayLine("Error removing droplet droppo: failed")) Expect(fakeDropletRunner.RemoveDropletCallCount()).To(Equal(1)) Expect(fakeExitHandler.ExitCalledWith).To(Equal([]int{exit_codes.CommandFailed})) }) }) }) Describe("ExportDropletCommand", func() { var ( exportDropletCommand cli.Command exportDir, workingDir, prevDir string )