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  }