It("fails with usage when not provided exactly one arg", func() { requirementsFactory.LoginSuccess = true runCommand() Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "Requires an argument"}, )) }) It("fails when not logged in", func() { Expect(runCommand("my-org")).To(BeFalse()) }) }) Context("when logged in and provided the name of an org to create", func() { BeforeEach(func() { orgRepo.CreateReturns(nil) requirementsFactory.LoginSuccess = true }) It("creates an org", func() { runCommand("my-org") Expect(ui.Outputs).To(ContainSubstrings( []string{"Creating org", "my-org", "my-user"}, []string{"OK"}, )) Expect(orgRepo.CreateArgsForCall(0).Name).To(Equal("my-org")) }) It("fails and warns the user when the org already exists", func() { err := errors.NewHTTPError(400, errors.OrganizationNameTaken, "org already exists")