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  }