github.com/go-generalize/volcago@v1.7.0/generator/generator_test.go (about) 1 //go:build !emulator 2 // +build !emulator 3 4 package generator 5 6 import ( 7 "os" 8 "path/filepath" 9 "testing" 10 ) 11 12 func run(t *testing.T, structName string, subCollection bool) { 13 t.Helper() 14 15 gen, err := NewGenerator(".") 16 17 if err != nil { 18 t.Fatalf("NewGenerator failed: %+v", err) 19 } 20 21 opt := NewDefaultGenerateOption() 22 opt.Subcollection = subCollection 23 24 if err := gen.Generate(structName, opt); err != nil { 25 t.Fatalf("Generate failed: %+v", err) 26 } 27 } 28 29 func TestGenerator(t *testing.T) { 30 root, err := os.Getwd() 31 32 if err != nil { 33 t.Fatalf("failed to getwd: %+v", err) 34 } 35 36 t.Run("AutomaticIDGeneration", func(tr *testing.T) { 37 if err := os.Chdir(filepath.Join(root, "testfiles/auto")); err != nil { 38 tr.Fatalf("chdir failed: %+v", err) 39 } 40 41 run(t, "Task", false) 42 run(t, "Lock", false) 43 }) 44 45 t.Run("IDSpecified", func(tr *testing.T) { 46 if err := os.Chdir(filepath.Join(root, "testfiles/not_auto")); err != nil { 47 tr.Fatalf("chdir failed: %+v", err) 48 } 49 50 run(t, "Task", false) 51 52 run(t, "SubTask", true) 53 }) 54 }