[]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" }) It("warns the user when the app is already stopped", func() { runCommand("my-app") Expect(ui.Outputs()).To(ContainSubstrings([]string{"my-app", "is already stopped"})) Expect(appRepo.UpdateCallCount()).To(BeZero()) }) }) Describe(".ApplicationStop()", func() { It("returns the updated app model from ApplicationStop()", func() { expectedStoppedApp := app expectedStoppedApp.State = "stopped" appRepo.UpdateReturns(expectedStoppedApp, nil) updateCommandDependency(false) stopper := commandregistry.Commands.FindCommand("stop").(*application.Stop) actualStoppedApp, err := stopper.ApplicationStop(app, config.OrganizationFields().Name, config.SpaceFields().Name) Expect(err).NotTo(HaveOccurred()) Expect(expectedStoppedApp).To(Equal(actualStoppedApp))
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(