github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/build/package_test.go (about)

     1  package build
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/gobuffalo/buffalo-cli/v2/cli/cmds/build/buildtest"
     8  	"github.com/gobuffalo/plugins"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func Test_Cmd_Package(t *testing.T) {
    13  	r := require.New(t)
    14  
    15  	exp := []string{"foo.go", "bar.go"}
    16  	pf := func(ctx context.Context, root string) ([]string, error) {
    17  		return exp, nil
    18  	}
    19  
    20  	var act []string
    21  	pr := func(ctx context.Context, root string, files []string) error {
    22  		act = files
    23  		return nil
    24  	}
    25  
    26  	plugs := plugins.Plugins{
    27  		buildtest.BeforeBuilder(mainFileBeforeBuilder),
    28  		buildtest.AfterBuilder(cleanupAfterBuilder),
    29  		buildtest.Packager(pr),
    30  		buildtest.PackFiler(pf),
    31  	}
    32  
    33  	bc := &Cmd{}
    34  	bc.WithPlugins(func() []plugins.Plugin {
    35  		return plugs
    36  	})
    37  
    38  	err := bc.Main(context.Background(), ".", nil)
    39  	r.NoError(err)
    40  
    41  	r.Equal(exp, act)
    42  }