github.com/loggregator/cli@v6.33.1-0.20180224010324-82334f081791+incompatible/cf/requirements/usage_requirement_test.go (about) 1 package requirements_test 2 3 import ( 4 . "code.cloudfoundry.org/cli/cf/requirements" 5 . "github.com/onsi/ginkgo" 6 . "github.com/onsi/gomega" 7 ) 8 9 var _ = Describe("UsageRequirement", func() { 10 It("doesn't return an error when the predicate returns false", func() { 11 err := NewUsageRequirement(nil, "Some error message", func() bool { return false }).Execute() 12 Expect(err).NotTo(HaveOccurred()) 13 }) 14 15 It("errors when the predicate returns true", func() { 16 usableCmd := usableFunc(func() string { return "Usage text!" }) 17 18 err := NewUsageRequirement(usableCmd, "Some error message", func() bool { return true }).Execute() 19 20 Expect(err).To(HaveOccurred()) 21 Expect(err.Error()).To(ContainSubstring("Some error message")) 22 23 Expect(err.Error()).To(ContainSubstring("Usage text!")) 24 }) 25 }) 26 27 type usableFunc func() string 28 29 func (u usableFunc) Usage() string { return u() }