github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/main_test.go (about) 1 package cli 2 3 import ( 4 "bytes" 5 "context" 6 "testing" 7 8 "github.com/gobuffalo/plugins" 9 "github.com/gobuffalo/plugins/plugio" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func Test_Buffalo_Help(t *testing.T) { 14 r := require.New(t) 15 16 stdout := &bytes.Buffer{} 17 18 b := &Buffalo{ 19 Plugins: plugins.Plugins{ 20 plugio.NewOuter(stdout), 21 }, 22 } 23 24 ctx := context.Background() 25 26 args := []string{"-h"} 27 28 err := b.Main(ctx, "", args) 29 r.NoError(err) 30 31 r.Contains(stdout.String(), b.Description()) 32 } 33 34 func Test_Buffalo_Main_SubCommand(t *testing.T) { 35 r := require.New(t) 36 37 c := &cp{} 38 b := &Buffalo{ 39 Plugins: plugins.Plugins{ 40 c, 41 }, 42 } 43 44 ctx := context.Background() 45 46 args := []string{c.PluginName()} 47 48 exp := []string{"hello"} 49 args = append(args, exp...) 50 51 err := b.Main(ctx, "", args) 52 r.NoError(err) 53 r.Equal(exp, c.args) 54 } 55 56 func Test_Buffalo_Main_SubCommand_Alias(t *testing.T) { 57 r := require.New(t) 58 59 c := &cp{aliases: []string{"sc"}} 60 b := &Buffalo{ 61 Plugins: plugins.Plugins{ 62 c, 63 }, 64 } 65 66 ctx := context.Background() 67 68 args := []string{"sc"} 69 70 exp := []string{"hello"} 71 args = append(args, exp...) 72 73 err := b.Main(ctx, "", args) 74 r.NoError(err) 75 r.Equal(exp, c.args) 76 }