}) It("fails requirements when not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(runCommand("my-org", "my-quota")).To(BeFalse()) }) Context("when logged in", func() { BeforeEach(func() { org := models.Organization{} org.Name = "my-org" org.GUID = "my-org-guid" orgReq := new(requirementsfakes.FakeOrganizationRequirement) orgReq.GetOrganizationReturns(org) requirementsFactory.NewOrganizationRequirementReturns(orgReq) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) }) It("assigns a quota to an org", func() { quota := models.QuotaFields{Name: "my-quota", GUID: "my-quota-guid"} quotaRepo.FindByNameReturns(quota, nil) runCommand("my-org", "my-quota") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Setting quota", "my-quota", "my-org", "my-user"}, []string{"OK"}, ))
cmd.SetDependency(deps, false) flagContext = flags.NewFlagContext(map[string]flags.FlagSet{}) factory = new(requirementsfakes.FakeFactory) loginRequirement = &passingRequirement{} factory.NewLoginRequirementReturns(loginRequirement) userRequirement = new(requirementsfakes.FakeUserRequirement) userRequirement.ExecuteReturns(nil) factory.NewUserRequirementReturns(userRequirement) organizationRequirement = new(requirementsfakes.FakeOrganizationRequirement) organizationRequirement.ExecuteReturns(nil) factory.NewOrganizationRequirementReturns(organizationRequirement) }) Describe("Requirements", func() { Context("when not provided exactly four args", func() { BeforeEach(func() { flagContext.Parse("the-user-name", "the-org-name", "the-space-name") }) It("fails with usage", func() { Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage. Requires USERNAME, ORG, SPACE, ROLE as arguments"}, []string{"NAME"}, []string{"USAGE"}, ))
Inputs: []string{"yes"}, } domainRepo = new(apifakes.FakeDomainRepository) requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedOrgRequirementReturns(new(requirementsfakes.FakeTargetedOrgRequirement)) fakeOrgRequirement := new(requirementsfakes.FakeOrganizationRequirement) fakeOrgRequirement.GetOrganizationReturns(models.Organization{ OrganizationFields: models.OrganizationFields{ Name: "my-org", }, }) requirementsFactory.NewOrganizationRequirementReturns(fakeOrgRequirement) configRepo = testconfig.NewRepositoryWithDefaults() }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("delete-domain", args, requirementsFactory, updateCommandDependency, false, ui) } Describe("requirements", func() { It("fails when the user is not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(runCommand("foo.com")).To(BeFalse()) })