github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/plan/build_charts_internal_test.go (about) 1 package plan 2 3 import ( 4 "errors" 5 "testing" 6 7 "github.com/stretchr/testify/suite" 8 ) 9 10 type BuildChartsTestSuite struct { 11 suite.Suite 12 } 13 14 func TestBuildChartsTestSuite(t *testing.T) { 15 t.Parallel() 16 suite.Run(t, new(BuildChartsTestSuite)) 17 } 18 19 func (ts *BuildRepositoriesTestSuite) TestEmptyReleases() { 20 p := New(".") 21 p.NewBody() 22 23 err := p.buildCharts() 24 25 ts.Require().NoError(err) 26 } 27 28 func (ts *BuildRepositoriesTestSuite) TestMultipleReleases() { 29 p := New(".") 30 31 rel1 := &MockReleaseConfig{} 32 rel1.On("DownloadChart").Return(nil) 33 rel2 := &MockReleaseConfig{} 34 rel2.On("DownloadChart").Return(nil) 35 36 p.SetReleases(rel1, rel2) 37 38 err := p.buildCharts() 39 40 ts.Require().NoError(err) 41 rel1.AssertExpectations(ts.T()) 42 rel2.AssertExpectations(ts.T()) 43 } 44 45 func (ts *BuildRepositoriesTestSuite) TestError() { 46 p := New(".") 47 48 rel1 := &MockReleaseConfig{} 49 rel1.On("DownloadChart").Return(nil) 50 rel2 := &MockReleaseConfig{} 51 errExpected := errors.New(ts.T().Name()) 52 rel2.On("DownloadChart").Return(errExpected) 53 54 p.SetReleases(rel1, rel2) 55 56 err := p.buildCharts() 57 58 ts.Require().ErrorIs(err, errExpected) 59 rel1.AssertExpectations(ts.T()) 60 rel2.AssertExpectations(ts.T()) 61 }