github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/grift/grift_test.go (about)

     1  package grift
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gobuffalo/genny/v2/gentest"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func Test_New(t *testing.T) {
    11  	r := require.New(t)
    12  
    13  	run := gentest.NewRunner()
    14  	err := run.WithNew(New(&Options{
    15  		Args: []string{"foo"},
    16  	}))
    17  	r.NoError(err)
    18  	r.NoError(run.Run())
    19  
    20  	res := run.Results()
    21  	r.Len(res.Commands, 0)
    22  	r.Len(res.Files, 1)
    23  
    24  	f := res.Files[0]
    25  	r.Equal("grifts/foo.go", f.Name())
    26  	body := f.String()
    27  	r.Contains(body, `var _ = Add("foo", func(c *Context) error`)
    28  }
    29  
    30  func Test_New_Namespaced(t *testing.T) {
    31  	r := require.New(t)
    32  
    33  	run := gentest.NewRunner()
    34  	err := run.WithNew(New(&Options{
    35  		Args: []string{"foo:bar"},
    36  	}))
    37  	r.NoError(err)
    38  	r.NoError(run.Run())
    39  
    40  	res := run.Results()
    41  	r.Len(res.Commands, 0)
    42  	r.Len(res.Files, 1)
    43  
    44  	f := res.Files[0]
    45  	r.Equal("grifts/bar.go", f.Name())
    46  	body := f.String()
    47  	r.Contains(body, `Add("bar", func(c *Context) error`)
    48  }
    49  
    50  func Test_New_No_Name(t *testing.T) {
    51  	r := require.New(t)
    52  
    53  	_, err := New(&Options{})
    54  	r.Error(err)
    55  }