github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+incompatible/command/flag/org_role_test.go (about) 1 package flag_test 2 3 import ( 4 . "code.cloudfoundry.org/cli/command/flag" 5 flags "github.com/jessevdk/go-flags" 6 . "github.com/onsi/ginkgo" 7 . "github.com/onsi/ginkgo/extensions/table" 8 . "github.com/onsi/gomega" 9 ) 10 11 var _ = Describe("OrgRole", func() { 12 var orgRole OrgRole 13 14 Describe("Complete", func() { 15 DescribeTable("returns list of completions", 16 func(prefix string, matches []flags.Completion) { 17 completions := orgRole.Complete(prefix) 18 Expect(completions).To(Equal(matches)) 19 }, 20 Entry("returns 'OrgManager' and 'OrgAuditor' when passed 'O'", "O", 21 []flags.Completion{{Item: "OrgManager"}, {Item: "OrgAuditor"}}), 22 Entry("returns 'OrgManager' and 'OrgAuditor' when passed 'o'", "o", 23 []flags.Completion{{Item: "OrgManager"}, {Item: "OrgAuditor"}}), 24 Entry("returns 'BillingManager' when passed 'B'", "B", 25 []flags.Completion{{Item: "BillingManager"}}), 26 Entry("returns 'BillingManager' when passed 'b'", "b", 27 []flags.Completion{{Item: "BillingManager"}}), 28 Entry("completes to 'OrgAuditor' when passed 'orgA'", "orgA", 29 []flags.Completion{{Item: "OrgAuditor"}}), 30 Entry("completes to 'OrgManager' when passed 'orgm'", "orgm", 31 []flags.Completion{{Item: "OrgManager"}}), 32 Entry("returns 'OrgManager', 'BillingManager' and 'OrgAuditor' when passed nothing", "", 33 []flags.Completion{{Item: "OrgManager"}, {Item: "BillingManager"}, {Item: "OrgAuditor"}}), 34 Entry("completes to nothing when passed 'wut'", "wut", 35 []flags.Completion{}), 36 ) 37 }) 38 39 Describe("UnmarshalFlag", func() { 40 BeforeEach(func() { 41 orgRole = OrgRole{} 42 }) 43 44 It("accepts OrgManager", func() { 45 err := orgRole.UnmarshalFlag("orgmanager") 46 Expect(err).ToNot(HaveOccurred()) 47 Expect(orgRole).To(Equal(OrgRole{Role: "OrgManager"})) 48 }) 49 50 It("accepts BillingManager", func() { 51 err := orgRole.UnmarshalFlag("Billingmanager") 52 Expect(err).ToNot(HaveOccurred()) 53 Expect(orgRole).To(Equal(OrgRole{Role: "BillingManager"})) 54 }) 55 56 It("accepts OrgAuditor", func() { 57 err := orgRole.UnmarshalFlag("orgAuditor") 58 Expect(err).ToNot(HaveOccurred()) 59 Expect(orgRole).To(Equal(OrgRole{Role: "OrgAuditor"})) 60 }) 61 62 It("errors on anything else", func() { 63 err := orgRole.UnmarshalFlag("I AM A BANANANANANANANANA") 64 Expect(err).To(MatchError(&flags.Error{ 65 Type: flags.ErrRequired, 66 Message: `ROLE must be "OrgManager", "BillingManager" and "OrgAuditor"`, 67 })) 68 Expect(orgRole.Role).To(BeEmpty()) 69 }) 70 }) 71 })