requirementsFactory.NewUsageRequirementReturns(requirements.Failing{}) Expect(runCommand("source-app", "target-app", "too-much", "app-name")).ToNot(HavePassedRequirements()) }) }) Describe("Passing requirements", func() { BeforeEach(func() { requirementsFactory.NewUsageRequirementReturns(requirements.Passing{}) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) }) Context("refreshing the auth token", func() { It("makes a call for the app token", func() { runCommand("source-app", "target-app") Expect(authRepo.RefreshAuthTokenCallCount()).To(Equal(1)) }) Context("when refreshing the auth token fails", func() { BeforeEach(func() { authRepo.RefreshAuthTokenReturns("", errors.New("I accidentally the UAA")) }) It("it displays an error", func() { runCommand("source-app", "target-app") Expect(ui.Outputs()).To(ContainSubstrings( []string{"FAILED"}, []string{"accidentally the UAA"}, )) }) })
}) Describe("when logged in", func() { BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) serviceName = "service" servicePlanName = "service-plan" publicServicePlanName = "public-service-plan" privateServicePlanName = "private-service-plan" orgName = "my-org" }) It("Refreshes the auth token", func() { runCommand([]string{serviceName}) Expect(tokenRefresher.RefreshAuthTokenCallCount()).To(Equal(1)) }) Context("when refreshing the auth token fails", func() { It("fails and returns the error", func() { tokenRefresher.RefreshAuthTokenReturns("", errors.New("Refreshing went wrong")) runCommand([]string{serviceName}) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Refreshing went wrong"}, []string{"FAILED"}, )) }) }) Context("when the named service exists", func() {