github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/internal/clifix/cmd_test.go (about)

     1  package clifix
     2  
     3  import (
     4  	"context"
     5  	"io/ioutil"
     6  	"os"
     7  	"path/filepath"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func Test_Cmd_Fix(t *testing.T) {
    14  	r := require.New(t)
    15  
    16  	dir, err := ioutil.TempDir("", "")
    17  	r.NoError(err)
    18  
    19  	f, err := os.Create(filepath.Join(dir, "go.mod"))
    20  	r.NoError(err)
    21  	f.WriteString("module coke")
    22  	r.NoError(f.Close())
    23  
    24  	ctx := context.Background()
    25  	var args []string
    26  
    27  	fixer := &Cmd{}
    28  	err = fixer.Fix(ctx, dir, args)
    29  	r.NoError(err)
    30  
    31  	root := filepath.Join(dir, "cmd", "buffalo")
    32  
    33  	_, err = os.Stat(root)
    34  	r.NoError(err)
    35  
    36  	fp := filepath.Join(root, "main.go")
    37  	b, err := ioutil.ReadFile(fp)
    38  	r.NoError(err)
    39  	r.Contains(string(b), `coke/cmd/buffalo`)
    40  
    41  }
    42  
    43  func Test_Cmd_FileExists(t *testing.T) {
    44  	r := require.New(t)
    45  
    46  	dir, err := ioutil.TempDir("", "")
    47  	r.NoError(err)
    48  
    49  	f, err := os.Create(filepath.Join(dir, "go.mod"))
    50  	r.NoError(err)
    51  	f.WriteString("module pagano")
    52  	r.NoError(f.Close())
    53  
    54  	ctx := context.Background()
    55  	var args []string
    56  
    57  	cliFolder := filepath.Join(dir, "cmd", "buffalo")
    58  	err = os.MkdirAll(cliFolder, 0755)
    59  	r.NoError(err)
    60  
    61  	fixer := &Cmd{}
    62  	err = fixer.Fix(ctx, dir, args)
    63  	r.NoError(err)
    64  }