github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/genny/fix/action_test.go (about)

     1  package fix
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/gobuffalo/genny/v2/gentest"
     9  	"github.com/gobuffalo/meta"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func Test_ReplaceAppOnce(t *testing.T) {
    14  	r := require.New(t)
    15  
    16  	tt := []struct {
    17  		Name string
    18  		OK   bool
    19  	}{
    20  		{"buffalo0_11", false},
    21  		{"buffaloPre0_18api", true},
    22  		{"buffaloPre0_18web", true},
    23  	}
    24  
    25  	for _, tc := range tt {
    26  		t.Run(tc.Name, func(t *testing.T) {
    27  			run := gentest.NewRunner()
    28  
    29  			err := run.Disk.AddFS(os.DirFS(filepath.Join("_fixtures", tc.Name)))
    30  			r.NoError(err)
    31  
    32  			opts := &Options{
    33  				App: meta.Named("coke", "."),
    34  			}
    35  			g := ReplaceAppOnce(opts)
    36  			run.WithRun(g)
    37  
    38  			if tc.OK {
    39  				r.NoError(run.Run())
    40  				f, err := run.FindFile("actions/app.go")
    41  				r.NoError(err)
    42  
    43  				//fmt.Println("XXX =====", f.String())
    44  				r.Contains(f.String(), "appOnce", "files in vendor directory should not be changed")
    45  			} else {
    46  				r.Error(run.Run())
    47  			}
    48  		})
    49  	}
    50  }