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("notifies user of any api error", func() { appRepo.UpdateReturns(models.Application{}, errors.New("Error updating app.")) runCommand("my-app", "port") Expect(appRepo.UpdateCallCount()).To(Equal(1)) Expect(ui.Outputs()).To(ContainSubstrings( []string{"FAILED"},
It("fails with usage when the app name is not given", func() { runCommand() Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage", "Requires an argument"}, )) }) 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")) })
[]string{"my-app", "some-org", "some-space", "my-user"}, []string{"OK"}, )) }) It("starts an app, when given the app's name", func() { ui, appRepo, _ := startAppWithInstancesAndErrors(defaultAppForStart, requirementsFactory) Expect(ui.Outputs()).To(ContainSubstrings( []string{"my-app", "my-org", "my-space", "my-user"}, []string{"OK"}, []string{"0 of 2 instances running", "2 starting"}, []string{"started"}, )) appGUID, _ := appRepo.UpdateArgsForCall(0) Expect(appGUID).To(Equal("my-app-guid")) Expect(displayApp.AppToDisplay).To(Equal(defaultAppForStart)) }) Context("when app instance count is zero", func() { var zeroInstanceApp models.Application BeforeEach(func() { zeroInstanceApp = models.Application{ ApplicationFields: models.ApplicationFields{ Name: "my-app", GUID: "my-app-guid", InstanceCount: 0, PackageState: "STAGED", }, }