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 }