github.com/benchkram/bob@v0.0.0-20240314204020-b7a57f2f9be9/test/e2e/project/project_test.go (about)

     1  package projectest
     2  
     3  import (
     4  	"os"
     5  
     6  	. "github.com/onsi/ginkgo"
     7  	. "github.com/onsi/gomega"
     8  )
     9  
    10  var _ = Describe("Testing project name for tats", func() {
    11  	Context("when project name is not set", func() {
    12  		It("all tasks should contain working dir", func() {
    13  			useBobFile("without_project_name")
    14  			defer releaseBobfile("without_project_name")
    15  
    16  			b, err := Bob()
    17  			Expect(err).NotTo(HaveOccurred())
    18  
    19  			ag, err := b.Aggregate()
    20  			Expect(err).NotTo(HaveOccurred())
    21  			for _, v := range ag.BTasks {
    22  				Expect(v.Project()).To(Equal(dir))
    23  			}
    24  
    25  			ags, err := b.AggregateSparse()
    26  			Expect(err).NotTo(HaveOccurred())
    27  			for _, v := range ags.BTasks {
    28  				Expect(v.Project()).To(Equal(dir))
    29  			}
    30  		})
    31  	})
    32  
    33  	Context("when project name is set", func() {
    34  		It("all tasks should have project the name set", func() {
    35  			useBobFile("with_project_name")
    36  			defer releaseBobfile("with_project_name")
    37  
    38  			b, err := Bob()
    39  			Expect(err).NotTo(HaveOccurred())
    40  
    41  			ag, err := b.Aggregate()
    42  			Expect(err).NotTo(HaveOccurred())
    43  			for _, v := range ag.BTasks {
    44  				Expect(v.Project()).To(Equal("projectX"))
    45  			}
    46  
    47  			ags, err := b.AggregateSparse()
    48  			Expect(err).NotTo(HaveOccurred())
    49  			for _, v := range ags.BTasks {
    50  				Expect(v.Project()).To(Equal("projectX"))
    51  			}
    52  		})
    53  	})
    54  
    55  	Context("when project name is set and there is a second level bob file", func() {
    56  		It("all tasks should have project the name set", func() {
    57  			Expect(os.Rename("with_second_level.yaml", "bob.yaml")).NotTo(HaveOccurred())
    58  			Expect(os.Rename("with_second_level_second_level.yaml", dir+"/second_level/bob.yaml")).NotTo(HaveOccurred())
    59  
    60  			b, err := Bob()
    61  			Expect(err).NotTo(HaveOccurred())
    62  
    63  			ag, err := b.Aggregate()
    64  			Expect(err).NotTo(HaveOccurred())
    65  			Expect(len(ag.BTasks)).To(Equal(2))
    66  
    67  			for _, v := range ag.BTasks {
    68  				Expect(v.Project()).To(Equal("projectWithSecondLevel"))
    69  			}
    70  
    71  			ags, err := b.AggregateSparse()
    72  			Expect(err).NotTo(HaveOccurred())
    73  			Expect(len(ags.BTasks)).To(Equal(2))
    74  
    75  			for _, v := range ags.BTasks {
    76  				Expect(v.Project()).To(Equal("projectWithSecondLevel"))
    77  			}
    78  		})
    79  	})
    80  })