It("notifies the user", func() { runCommand("my-app", "none") Expect(ui.Outputs()).To(ContainSubstrings([]string{"my-app", "already set to 'none'"})) }) }) Context("Updating health_check_type when not already set to the desired state", func() { Context("Update successfully", func() { BeforeEach(func() { app = models.Application{} app.Name = "my-app" app.GUID = "my-app-guid" app.HealthCheckType = "port" appRepo.UpdateReturns(app, nil) }) It("updates the app's health_check_type", func() { runCommand("my-app", "port") Expect(appRepo.UpdateCallCount()).To(Equal(1)) appGUID, params := appRepo.UpdateArgsForCall(0) Expect(appGUID).To(Equal("my-app-guid")) Expect(*params.HealthCheckType).To(Equal("port")) Expect(ui.Outputs()).To(ContainSubstrings([]string{"Updating", "my-app", "port"})) Expect(ui.Outputs()).To(ContainSubstrings([]string{"OK"})) }) }) Context("Update fails", func() {
}) It("stops the app with the given name", func() { runCommand("my-app") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Stopping app", "my-app", "my-org", "my-space", "my-user"}, []string{"OK"}, )) appGUID, _ := appRepo.UpdateArgsForCall(0) Expect(appGUID).To(Equal("my-app-guid")) }) It("warns the user when stopping the app fails", func() { appRepo.UpdateReturns(models.Application{}, errors.New("Error updating app.")) runCommand("my-app") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Stopping", "my-app"}, []string{"FAILED"}, []string{"Error updating app."}, )) appGUID, _ := appRepo.UpdateArgsForCall(0) Expect(appGUID).To(Equal("my-app-guid")) }) Context("when the app is stopped", func() { BeforeEach(func() { app.State = "stopped" })
appRepo = new(applicationsfakes.FakeRepository) ui = new(testterm.FakeUI) config = testconfig.NewRepositoryWithDefaults() app = models.Application{ApplicationFields: models.ApplicationFields{ Name: "my-app", GUID: "my-app-guid", InstanceCount: 42, DiskQuota: 1024, Memory: 256, }} applicationReq := new(requirementsfakes.FakeApplicationRequirement) applicationReq.GetApplicationReturns(app) requirementsFactory.NewApplicationRequirementReturns(applicationReq) appRepo.UpdateReturns(app, nil) }) AfterEach(func() { commandregistry.Register(OriginalCommand) }) Describe("requirements", func() { It("requires the user to be logged in with a targed space", func() { args := []string{"-m", "1G", "my-app"} requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(testcmd.RunCLICommand("scale", args, requirementsFactory, updateCommandDependency, false, ui)).To(BeFalse()) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})