) BeforeEach(func() { org := models.Organization{} org.Name = "the-org" org.GUID = "the-org-guid" user1 = models.UserFields{} user1.Username = "******" user2 = models.UserFields{} user2.Username = "******" requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) organizationReq := new(requirementsfakes.FakeOrganizationRequirement) organizationReq.GetOrganizationReturns(org) requirementsFactory.NewOrganizationRequirementReturns(organizationReq) }) Context("shows friendly messaage when no users in ORG_MANAGER role", func() { It("shows the special users in the given org", func() { userRepo.ListUsersInOrgForRoleStub = func(_ string, roleName models.Role) ([]models.UserFields, error) { userFields := map[models.Role][]models.UserFields{ models.RoleOrgManager: {}, models.RoleBillingManager: {user1}, models.RoleOrgAuditor: {user2}, }[roleName] return userFields, nil } runCommand("the-org")
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 three args", func() { BeforeEach(func() { flagContext.Parse("the-user-name", "the-org-name") }) It("fails with usage", func() { _, err := cmd.Requirements(factory, flagContext) Expect(err).To(HaveOccurred()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage. Requires USERNAME, ORG, ROLE as arguments"}, []string{"NAME"}, []string{"USAGE"},
runCommand("org1") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage", "Requires", "arguments"}, )) }) Context("checks login", func() { It("passes when logged in", func() { fakeOrgRequirement := new(requirementsfakes.FakeOrganizationRequirement) fakeOrgRequirement.GetOrganizationReturns(models.Organization{ OrganizationFields: models.OrganizationFields{ Name: "my-org", }, }) requirementsFactory.NewOrganizationRequirementReturns(fakeOrgRequirement) Expect(runCommand("my-org", "example.com")).To(BeTrue()) Expect(ui.Outputs()).To(ContainSubstrings([]string{"my-org"})) }) It("fails when not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(runCommand("my-org", "example.com")).To(BeFalse()) }) }) It("creates a domain", func() { org := models.Organization{} org.Name = "myOrg" org.GUID = "myOrg-guid"