Describe("requirements", func() { It("fails with usage when not provided exactly one arg", func() { requirementsFactory.LoginSuccess = true runCommand() Expect(ui.FailedWithUsage).To(BeTrue()) }) It("fails when not logged in", func() { runCommand("my-org") Expect(testcmd.CommandDidPassRequirements).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.ORG_EXISTS, "org already exists")