Context("when paid services are allowed", func() { BeforeEach(func() { quota.NonBasicServicesAllowed = true }) It("changes to non-paid service plan when --disallow flag is provided", func() { quotaRepo.FindByNameReturns(quota, nil) // updating an existing quota runCommand("--disallow-paid-service-plans", "quota-name") Expect(quotaRepo.UpdateArgsForCall(0).NonBasicServicesAllowed).To(BeFalse()) }) }) }) }) It("shows an error when updating fails", func() { quotaRepo.UpdateReturns(errors.New("I accidentally a quota")) runCommand("-m", "1M", "dead-serious") Expect(ui.Outputs).To(ContainSubstrings([]string{"FAILED"})) }) It("shows the user an error when finding the quota fails", func() { quotaRepo.FindByNameReturns(models.QuotaFields{}, errors.New("i can't believe it's not quotas!")) runCommand("-m", "50Somethings", "what-could-possibly-go-wrong?") Expect(ui.Outputs).To(ContainSubstrings([]string{"FAILED"})) }) It("shows a message explaining the update", func() { quota.Name = "i-love-ui" quotaRepo.FindByNameReturns(quota, nil)