github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/genny/assets/standard/standard_test.go (about)

     1  package standard
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gobuffalo/genny/v2"
     7  	"github.com/gobuffalo/genny/v2/gentest"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func Test_New(t *testing.T) {
    12  	r := require.New(t)
    13  
    14  	g, err := New(&Options{})
    15  	r.NoError(err)
    16  
    17  	run := gentest.NewRunner()
    18  	run.Disk.Add(genny.NewFileS("templates/application.plush.html", layout))
    19  	run.LookPathFn = func(s string) (string, error) {
    20  		return s, nil
    21  	}
    22  
    23  	r.NoError(run.With(g))
    24  	r.NoError(run.Run())
    25  
    26  	res := run.Results()
    27  	r.Len(res.Commands, 0)
    28  
    29  	files := []string{
    30  		"public/assets/application.css",
    31  		"public/assets/application.js",
    32  		"public/assets/buffalo.css",
    33  		"public/assets/images/favicon.ico",
    34  		"public/assets/images/logo.svg",
    35  		"templates/application.plush.html",
    36  	}
    37  
    38  	r.Len(res.Files, len(files))
    39  	for i, f := range res.Files {
    40  		r.Equal(files[i], f.Name())
    41  	}
    42  
    43  	layout, err := res.Find("templates/application.plush.html")
    44  	r.NoError(err)
    45  	r.Contains(layout.String(), "href=\"https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css\"")
    46  }
    47  
    48  const layout = `<!DOCTYPE html>
    49  <html>
    50    <head>
    51      <title>Buffalo - Foo</title>
    52      <%= stylesheetTag("buffalo.css") %>
    53      <%= stylesheetTag("application.css") %>
    54    </head>
    55    <body>
    56    </body>
    57  </html>
    58  `