github.com/tilotech/tilores-cli@v0.28.0/internal/pkg/step/steps_test.go (about) 1 package step 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestExecute(t *testing.T) { 10 steps := []Step{} 11 err := Execute(steps) 12 assert.NoError(t, err) 13 14 counter := 0 15 increment := func() error { 16 counter++ 17 return nil 18 } 19 20 fail := func() error { 21 return assert.AnError 22 } 23 24 steps = []Step{ 25 increment, 26 } 27 err = Execute(steps) 28 assert.NoError(t, err) 29 assert.Equal(t, 1, counter) 30 31 counter = 0 32 steps = []Step{ 33 increment, 34 increment, 35 increment, 36 } 37 err = Execute(steps) 38 assert.NoError(t, err) 39 assert.Equal(t, 3, counter) 40 41 counter = 0 42 steps = []Step{ 43 increment, 44 fail, 45 increment, 46 } 47 err = Execute(steps) 48 assert.Error(t, err) 49 assert.Equal(t, 1, counter) 50 }