github.com/corylanou/buffalo@v0.8.0/buffalo/cmd/generate/resource_test.go (about) 1 package generate 2 3 import ( 4 "io/ioutil" 5 "os" 6 "path/filepath" 7 "testing" 8 9 "github.com/spf13/cobra" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestGenerateResourceCode(t *testing.T) { 14 dir := os.TempDir() 15 packagePath := filepath.Join(dir, "src", "sample") 16 os.MkdirAll(packagePath, 0755) 17 os.Chdir(packagePath) 18 19 r := require.New(t) 20 21 cmd := cobra.Command{} 22 23 e := ActionCmd.RunE(&cmd, []string{}) 24 r.NotNil(e) 25 26 e = ActionCmd.RunE(&cmd, []string{"users"}) 27 r.NotNil(e) 28 29 os.Mkdir("actions", 0755) 30 ioutil.WriteFile("actions/app.go", appGo, 0755) 31 32 SkipResourceMigration = false 33 SkipResourceModel = false 34 35 e = ResourceCmd.RunE(&cmd, []string{"users"}) 36 r.Nil(e) 37 38 fileData, _ := ioutil.ReadFile("actions/app.go") 39 r.Contains(string(fileData), "var usersResource buffalo.Resource") 40 r.Contains(string(fileData), "usersResource = UsersResource{&buffalo.BaseResource{}}") 41 r.Contains(string(fileData), "app.Resource(\"/users\", usersResource)") 42 43 fileData, _ = ioutil.ReadFile("actions/users.go") 44 r.Contains(string(fileData), "type UsersResource struct {") 45 r.Contains(string(fileData), "func (v UsersResource) List(c buffalo.Context) error {") 46 r.Contains(string(fileData), "func (v UsersResource) Destroy(c buffalo.Context) error {") 47 48 fileData, _ = ioutil.ReadFile("actions/users_test.go") 49 r.Contains(string(fileData), "func (as *ActionSuite) Test_UsersResource_List") 50 r.Contains(string(fileData), "func (as *ActionSuite) Test_UsersResource_Show") 51 r.Contains(string(fileData), "func (as *ActionSuite) Test_UsersResource_Create") 52 53 }