})
	})

	Describe("RemoveDropletCommand", func() {
		var removeDropletCommand cli.Command

		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}))
			})
		})
	})