} Describe("requirements", func() { It("passes when logged in and a space is targeted", func() { callPush() Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) }) It("fails when not logged in", func() { requirementsFactory.LoginSuccess = false callPush() Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("fails when a space is not targeted", func() { requirementsFactory.TargetedSpaceSuccess = false callPush() Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) // yes, we're aware that the args here should probably be provided in a different order // erg: app-name -p some/path some-extra-arg // but the test infrastructure for parsing args and flags is sorely lacking It("fails when provided too many args", func() { callPush("-p", "path", "too-much", "app-name") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) Describe("when pushing a new app", func() { BeforeEach(func() {
} Describe("requirements", func() { It("passes when logged in and a space is targeted", func() { callCreateService([]string{"cleardb", "spark", "my-cleardb-service"}) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) }) It("fails when not logged in", func() { reqFactory.LoginSuccess = false callCreateService([]string{"cleardb", "spark", "my-cleardb-service"}) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("fails when a space is not targeted", func() { reqFactory.TargetedSpaceSuccess = false callCreateService([]string{"cleardb", "spark", "my-cleardb-service"}) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) It("successfully creates a service", func() { callCreateService([]string{"cleardb", "spark", "my-cleardb-service"}) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Creating service", "my-cleardb-service", "my-org", "my-space", "my-user"}, {"OK"}, }) Expect(serviceRepo.CreateServiceInstanceArgs.Name).To(Equal("my-cleardb-service")) Expect(serviceRepo.CreateServiceInstanceArgs.PlanGuid).To(Equal("cleardb-spark-guid")) })