示例#1
0
	})

	Context("when the user is logged in", func() {
		BeforeEach(func() {
			requirementsFactory.LoginSuccess = true
		})

		It("fails requirements when called without a quota name", func() {
			runCommand()
			Expect(ui.FailedWithUsage).To(BeTrue())
		})

		Context("When the quota provided exists", func() {
			BeforeEach(func() {
				quota := models.QuotaFields{}
				quota.Name = "my-quota"
				quota.Guid = "my-quota-guid"

				quotaRepo.FindByNameReturns(quota, nil)
			})

			It("deletes a quota with a given name when the user confirms", func() {
				ui.Inputs = []string{"y"}

				runCommand("my-quota")
				Expect(quotaRepo.DeleteArgsForCall(0)).To(Equal("my-quota-guid"))

				Expect(ui.Prompts).To(ContainSubstrings(
					[]string{"Really delete the quota", "my-quota"},
				))
示例#2
0
					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)

		runCommand("-m", "50G", "i-love-ui")
		Expect(ui.Outputs).To(ContainSubstrings(
			[]string{"Updating quota", "i-love-ui", "as", "my-user"},
			[]string{"OK"},
		))
	})
})