github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/mail/mail_test.go (about)

     1  package mail
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gobuffalo/flect/name"
     7  	"github.com/gobuffalo/genny/v2"
     8  	"github.com/gobuffalo/genny/v2/gentest"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func Test_New_NoMailers(t *testing.T) {
    13  	r := require.New(t)
    14  	gg, err := New(&Options{Name: name.New("foo")})
    15  	r.NoError(err)
    16  
    17  	run := gentest.NewRunner()
    18  	gg.With(run)
    19  	r.NoError(run.Run())
    20  
    21  	res := run.Results()
    22  	r.Len(res.Commands, 0)
    23  	r.Len(res.Files, 4)
    24  
    25  	f := res.Files[0]
    26  	r.Equal("mailers/foo.go", f.Name())
    27  	body := f.String()
    28  	r.Contains(body, `err := m.AddBody(r.HTML("foo.html"), render.Data{})`)
    29  
    30  	f = res.Files[1]
    31  	r.Equal("mailers/mailers.go", f.Name())
    32  
    33  	f = res.Files[2]
    34  	r.Equal("templates/mail/foo.plush.html", f.Name())
    35  	body = f.String()
    36  	r.Contains(body, `<h3>../templates/mail/foo.plush.html</h3>`)
    37  
    38  	f = res.Files[3]
    39  	r.Equal("templates/mail/layout.plush.html", f.Name())
    40  }
    41  
    42  func Test_New_WithMailers(t *testing.T) {
    43  	r := require.New(t)
    44  
    45  	run := gentest.NewRunner()
    46  	run.Disk.Add(genny.NewFileS("mailers/mailers.go", ""))
    47  
    48  	gg, err := New(&Options{Name: name.New("foo")})
    49  	r.NoError(err)
    50  	gg.With(run)
    51  	r.NoError(run.Run())
    52  
    53  	res := run.Results()
    54  	r.Len(res.Commands, 0)
    55  	r.Len(res.Files, 3)
    56  
    57  	f := res.Files[0]
    58  	r.Equal("mailers/foo.go", f.Name())
    59  	body := f.String()
    60  	r.Contains(body, `err := m.AddBody(r.HTML("foo.html"), render.Data{})`)
    61  
    62  	f = res.Files[2]
    63  	r.Equal("templates/mail/foo.plush.html", f.Name())
    64  	body = f.String()
    65  	r.Contains(body, `<h3>../templates/mail/foo.plush.html</h3>`)
    66  }