github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/genny/testrunner/generators.go (about)

     1  package testrunner
     2  
     3  import (
     4  	"github.com/JarrahG/buffalocli/internal/genny/newapp/api"
     5  	"github.com/JarrahG/buffalocli/internal/genny/newapp/web"
     6  	"github.com/gobuffalo/genny/v2"
     7  	"github.com/gobuffalo/genny/v2/gentest"
     8  )
     9  
    10  func WebApp(opts *web.Options) (*genny.Runner, error) {
    11  	gg, err := web.New(opts)
    12  	if err != nil {
    13  		return nil, err
    14  	}
    15  	return newApp(gg)
    16  }
    17  
    18  func ApiApp(opts *api.Options) (*genny.Runner, error) {
    19  	gg, err := api.New(opts)
    20  	if err != nil {
    21  		return nil, err
    22  	}
    23  	return newApp(gg)
    24  }
    25  
    26  func newApp(gg *genny.Group) (*genny.Runner, error) {
    27  	run := gentest.NewRunner()
    28  	run.WithGroup(gg)
    29  	if err := run.Run(); err != nil {
    30  		return nil, err
    31  	}
    32  
    33  	runner := gentest.NewRunner()
    34  	for _, f := range run.Results().Files {
    35  		runner.Disk.Add(f)
    36  	}
    37  	return runner, nil
    38  }