From 8de0c64df817e2d3283a5895e6798ef69a62ece3 Mon Sep 17 00:00:00 2001 From: ginokent <29125616+ginokent@users.noreply.github.com> Date: Fri, 10 Nov 2023 07:39:37 +0900 Subject: [PATCH] test: fix golden file for TDD --- internal/arcgen/lang/go/generate_test.go | 19 ++++++++++++++++ internal/arcgen/lang/go/tests/common.golden | 24 +++++++++++++++++++++ internal/arcgen/lang/go/tests/common.source | 5 +++-- 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/internal/arcgen/lang/go/generate_test.go b/internal/arcgen/lang/go/generate_test.go index 27d05cb..237404a 100644 --- a/internal/arcgen/lang/go/generate_test.go +++ b/internal/arcgen/lang/go/generate_test.go @@ -3,8 +3,11 @@ package arcgengo import ( "context" + "io" + "os" "testing" + "github.com/kunitsucom/util.go/testing/assert" "github.com/kunitsucom/util.go/testing/require" "github.com/kunitsucom/arcgen/internal/config" @@ -28,6 +31,22 @@ func TestGenerate(t *testing.T) { fileSuffix = ".source" require.NoError(t, Generate(ctx, config.Source())) + + { + expectedFile, err := os.Open("tests/common.golden") + require.NoError(t, err) + expectedBytes, err := io.ReadAll(expectedFile) + require.NoError(t, err) + expected := string(expectedBytes) + + actualFile, err := os.Open("tests/common.dbtest.gen.source") + require.NoError(t, err) + actualBytes, err := io.ReadAll(actualFile) + require.NoError(t, err) + actual := string(actualBytes) + + assert.Equal(t, expected, actual) + } }) t.Run("failure,no.errsource", func(t *testing.T) { diff --git a/internal/arcgen/lang/go/tests/common.golden b/internal/arcgen/lang/go/tests/common.golden index dd761b7..3bfc8bd 100644 --- a/internal/arcgen/lang/go/tests/common.golden +++ b/internal/arcgen/lang/go/tests/common.golden @@ -27,3 +27,27 @@ func (s *User) GetColumnName_Email() string { func (s *User) GetColumnName_Age() string { return "Age" } + +func (s *Users) GetTableName() string { + return "`Users`" +} + +func (s *Users) GetColumnNames() []string { + return []string{"Id", "Name", "Email", "Age"} +} + +func (s *Users) GetColumnName_Id() string { + return "Id" +} + +func (s *Users) GetColumnName_Name() string { + return "Name" +} + +func (s *Users) GetColumnName_Email() string { + return "Email" +} + +func (s *Users) GetColumnName_Age() string { + return "Age" +} diff --git a/internal/arcgen/lang/go/tests/common.source b/internal/arcgen/lang/go/tests/common.source index 58295ee..2b68a8f 100644 --- a/internal/arcgen/lang/go/tests/common.source +++ b/internal/arcgen/lang/go/tests/common.source @@ -17,8 +17,9 @@ type ( Ignore string `dbtest:"-"` } - // dbtest: table: `SliceUsers` - SliceUser []*User + // Users is a slice of User. + // + Users []*User // dbtest: table: `InvalidUsers` InvalidUser struct {