v1.3.4_test.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package migrationnotes
  2. import (
  3. "io/fs"
  4. "os"
  5. "path"
  6. "path/filepath"
  7. "testing"
  8. "github.com/stretchr/testify/require"
  9. )
  10. func Test_needShow1_3_4(t *testing.T) {
  11. root, err := os.MkdirTemp("", "goctl-model")
  12. require.NoError(t, err)
  13. defer os.RemoveAll(root)
  14. dir1 := path.Join(root, "dir1")
  15. require.NoError(t, os.Mkdir(dir1, fs.ModePerm))
  16. os.WriteFile(filepath.Join(dir1, "foo_gen.go"), nil, fs.ModePerm)
  17. dir2 := path.Join(root, "dir2")
  18. require.NoError(t, os.Mkdir(dir2, fs.ModePerm))
  19. os.WriteFile(filepath.Join(dir2, "foomodel.go"), nil, fs.ModePerm)
  20. dir3 := path.Join(root, "dir3")
  21. require.NoError(t, os.Mkdir(dir3, fs.ModePerm))
  22. os.WriteFile(filepath.Join(dir3, "irrelevant.go"), nil, fs.ModePerm)
  23. type args struct {
  24. dir string
  25. style string
  26. }
  27. tests := []struct {
  28. name string
  29. args args
  30. want bool
  31. wantErr bool
  32. }{
  33. {
  34. name: "dir that contains *_gen.go should return false",
  35. args: args{
  36. dir: dir1,
  37. },
  38. want: false,
  39. },
  40. {
  41. name: "dir that contains *model.go without *_gen.go should return true",
  42. args: args{
  43. dir: dir2,
  44. },
  45. want: true,
  46. },
  47. {
  48. name: "dir that only contains irrelevant files should return false",
  49. args: args{
  50. dir: dir3,
  51. },
  52. want: false,
  53. },
  54. }
  55. for _, tt := range tests {
  56. t.Run(tt.name, func(t *testing.T) {
  57. got, err := needShow1_3_4(tt.args.dir, tt.args.style)
  58. if (err != nil) != tt.wantErr {
  59. t.Errorf("needShow1_3_4() error = %v, wantErr %v", err, tt.wantErr)
  60. return
  61. }
  62. if got != tt.want {
  63. t.Errorf("needShow1_3_4() = %v, want %v", got, tt.want)
  64. }
  65. })
  66. }
  67. }