github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/newapp/exec_test.go (about) 1 package newapp 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/gobuffalo/plugins" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func Test_Execute(t *testing.T) { 12 r := require.New(t) 13 14 var log []string 15 during := func(ctx context.Context, root string, name string, args []string) error { 16 log = append(log, "during", name) 17 return nil 18 } 19 after := func(ctx context.Context, root string, name string, args []string, err error) error { 20 log = append(log, "after", name) 21 return nil 22 } 23 24 plugs := []plugins.Plugin{ 25 newapper(during), 26 afternewapper(after), 27 newapper(during), 28 } 29 30 ctx := context.Background() 31 var root string 32 var args []string 33 34 err := Execute(plugs, ctx, root, "coke", args) 35 r.NoError(err) 36 37 r.Len(log, 6) 38 r.Equal([]string{"during", "coke", "during", "coke", "after", "coke"}, log) 39 }