github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/genny/newapp/core/core_test.go (about) 1 package core 2 3 import ( 4 "testing" 5 6 "github.com/JarrahG/buffalocli/internal/genny/docker" 7 "github.com/gobuffalo/envy" 8 "github.com/gobuffalo/genny/v2/gentest" 9 "github.com/gobuffalo/meta" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func init() { 14 // normalize command output 15 envy.Set("GO_BIN", "go") 16 } 17 18 func Test_New(t *testing.T) { 19 r := require.New(t) 20 envy.Temp(func() { 21 app := meta.Named("coke", ".") 22 app.PackageRoot("coke") 23 24 gg, err := New(&Options{ 25 App: app, 26 }) 27 r.NoError(err) 28 29 run := gentest.NewRunner() 30 run.WithGroup(gg) 31 32 r.NoError(run.Run()) 33 34 res := run.Results() 35 36 cmds := []string{ 37 "go mod init coke", 38 } 39 r.NoError(gentest.CompareCommands(cmds, res.Commands)) 40 41 expected := commonExpected 42 for _, e := range expected { 43 _, err = res.Find(e) 44 r.NoError(err) 45 } 46 47 unexpected := []string{ 48 "Dockerfile", 49 "database.yml", 50 "models/models.go", 51 ".buffalo.dev.yml", 52 "assets/css/application.scss.css", 53 "public/assets/application.js", 54 } 55 for _, u := range unexpected { 56 _, err = res.Find(u) 57 r.Error(err) 58 } 59 }) 60 } 61 62 func Test_New_Docker(t *testing.T) { 63 r := require.New(t) 64 65 gg, err := New(&Options{ 66 Docker: &docker.Options{}, 67 }) 68 r.NoError(err) 69 70 run := gentest.NewRunner() 71 run.WithGroup(gg) 72 73 r.NoError(run.Run()) 74 75 res := run.Results() 76 77 expected := append(commonExpected, "Dockerfile") 78 for _, e := range expected { 79 _, err := res.Find(e) 80 r.NoError(err) 81 } 82 } 83 84 var commonExpected = []string{ 85 "actions/actions_test.go", 86 "actions/app.go", 87 "actions/home.go", 88 "actions/home_test.go", 89 "actions/render.go", 90 "fixtures/sample.toml", 91 "grifts/init.go", 92 ".codeclimate.yml", 93 ".env", 94 "inflections.json", 95 "cmd/app/main.go", 96 "README.md", 97 }