github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/requirements/user_test.go (about) 1 package requirements_test 2 3 import ( 4 testapi "github.com/cloudfoundry/cli/cf/api/fakes" 5 "github.com/cloudfoundry/cli/cf/models" 6 . "github.com/cloudfoundry/cli/cf/requirements" 7 testassert "github.com/cloudfoundry/cli/testhelpers/assert" 8 testterm "github.com/cloudfoundry/cli/testhelpers/terminal" 9 . "github.com/onsi/ginkgo" 10 . "github.com/onsi/gomega" 11 12 . "github.com/cloudfoundry/cli/testhelpers/matchers" 13 ) 14 15 var _ = Describe("UserRequirement", func() { 16 Context("when a user with the given name can be found", func() { 17 It("returns the user model", func() { 18 user := models.UserFields{} 19 user.Username = "my-user" 20 user.Guid = "my-user-guid" 21 22 userRepo := &testapi.FakeUserRepository{FindByUsernameUserFields: user} 23 ui := new(testterm.FakeUI) 24 25 userReq := NewUserRequirement("foo", ui, userRepo) 26 success := userReq.Execute() 27 28 Expect(success).To(BeTrue()) 29 Expect(userRepo.FindByUsernameUsername).To(Equal("foo")) 30 Expect(userReq.GetUser()).To(Equal(user)) 31 }) 32 }) 33 34 Context("when a user with the given name cannot be found", func() { 35 It("panics and prints a failure message", func() { 36 userRepo := &testapi.FakeUserRepository{FindByUsernameNotFound: true} 37 ui := new(testterm.FakeUI) 38 39 testassert.AssertPanic(testterm.QuietPanic, func() { 40 NewUserRequirement("foo", ui, userRepo).Execute() 41 }) 42 43 Expect(ui.Outputs).To(ContainSubstrings( 44 []string{"FAILED"}, 45 []string{"not found"}, 46 )) 47 }) 48 }) 49 })