github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/newapp/core/core_test.go (about) 1 package core 2 3 import ( 4 "testing" 5 6 "github.com/gobuffalo/buffalo/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 envy.Set(envy.GO111MODULE, "on") 22 23 app := meta.Named("coke", ".") 24 (&app).PackageRoot("coke") 25 app.WithModules = true 26 27 gg, err := New(&Options{ 28 App: app, 29 }) 30 r.NoError(err) 31 32 run := gentest.NewRunner() 33 run.WithGroup(gg) 34 35 r.NoError(run.Run()) 36 37 res := run.Results() 38 39 cmds := []string{ 40 "go mod init coke", 41 } 42 r.NoError(gentest.CompareCommands(cmds, res.Commands)) 43 44 expected := commonExpected 45 for _, e := range expected { 46 _, err = res.Find(e) 47 r.NoError(err) 48 } 49 50 unexpected := []string{ 51 "Dockerfile", 52 "database.yml", 53 "models/models.go", 54 ".buffalo.dev.yml", 55 "assets/css/application.scss.css", 56 "public/assets/application.js", 57 } 58 for _, u := range unexpected { 59 _, err = res.Find(u) 60 r.Error(err) 61 } 62 63 }) 64 } 65 66 func Test_New_Docker(t *testing.T) { 67 r := require.New(t) 68 69 app := meta.New(".") 70 app.WithModules = false 71 72 gg, err := New(&Options{ 73 Docker: &docker.Options{}, 74 }) 75 r.NoError(err) 76 77 run := gentest.NewRunner() 78 run.WithGroup(gg) 79 80 r.NoError(run.Run()) 81 82 res := run.Results() 83 84 expected := append(commonExpected, "Dockerfile") 85 for _, e := range expected { 86 _, err := res.Find(e) 87 r.NoError(err) 88 } 89 } 90 91 var commonExpected = []string{ 92 "main.go", 93 "actions/app.go", 94 "actions/actions_test.go", 95 "actions/render.go", 96 "actions/home.go", 97 "actions/home_test.go", 98 "fixtures/sample.toml", 99 "grifts/init.go", 100 ".codeclimate.yml", 101 ".env", 102 "inflections.json", 103 "README.md", 104 }