Describe("#Description", func() { It("returns the description of a BmsCommand", func() { Expect(cmd.Description()).To(Equal("List all bare metals")) }) }) Describe("#Usage", func() { It("returns the usage text of a BmsCommand", func() { Expect(cmd.Usage()).To(Equal("bmp bms --deployment[-d] <deployment file>")) }) }) Describe("#Options", func() { It("returns the options of a BmsCommand", func() { Expect(cmds.EqualOptions(cmd.Options(), options)).To(BeTrue()) Expect(cmd.Options().Deployment).ToNot(Equal("")) Expect(cmd.Options().Deployment).To(Equal("../../test_fixtures/bmp/deployment.yml")) }) }) Describe("#Validate", func() { It("validates a good BmsCommand", func() { validate, err := cmd.Validate() Expect(validate).To(BeTrue()) Expect(err).ToNot(HaveOccurred()) }) Context("bad BmsCommand", func() { BeforeEach(func() {
Packages: true, PackageOptions: "test-package-options", } opts2 = cmds.Options{ Help: false, Verbose: true, DryRun: false, Latest: 0, Packages: true, PackageOptions: "test-package-options", } }) It("returns true for the same options", func() { Expect(cmds.EqualOptions(opts1, opts1)).To(BeTrue()) Expect(cmds.EqualOptions(opts2, opts2)).To(BeTrue()) }) It("returns true for two equal options", func() { Expect(cmds.EqualOptions(opts1, opts2)).To(BeTrue()) }) It("returns false when options2 is modified", func() { opts2.Verbose = false Expect(cmds.EqualOptions(opts1, opts2)).To(BeFalse()) }) It("returns false when one options is empty options", func() { Expect(cmds.EqualOptions(cmds.Options{}, opts2)).To(BeFalse()) Expect(cmds.EqualOptions(opts1, cmds.Options{})).To(BeFalse())