2021-07-27 17:39:21 +02:00
|
|
|
package template
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
2025-04-10 09:28:51 -04:00
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
|
|
|
|
|
"github.com/go-jet/jet/v2/generator/metadata"
|
2021-07-27 17:39:21 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func Test_TableModelField(t *testing.T) {
|
|
|
|
|
require.Equal(t, DefaultTableModelField(metadata.Column{
|
|
|
|
|
Name: "col_name",
|
|
|
|
|
IsPrimaryKey: true,
|
|
|
|
|
IsNullable: true,
|
|
|
|
|
DataType: metadata.DataType{
|
|
|
|
|
Name: "smallint",
|
|
|
|
|
Kind: "base",
|
|
|
|
|
IsUnsigned: true,
|
|
|
|
|
},
|
|
|
|
|
}), TableModelField{
|
|
|
|
|
Name: "ColName",
|
|
|
|
|
Type: Type{
|
|
|
|
|
ImportPath: "",
|
|
|
|
|
Name: "*uint16",
|
|
|
|
|
},
|
|
|
|
|
Tags: []string{"sql:\"primary_key\""},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
require.Equal(t, DefaultTableModelField(metadata.Column{
|
|
|
|
|
Name: "time_column_1",
|
|
|
|
|
IsPrimaryKey: false,
|
|
|
|
|
IsNullable: true,
|
|
|
|
|
DataType: metadata.DataType{
|
|
|
|
|
Name: "timestamp with time zone",
|
|
|
|
|
Kind: "base",
|
|
|
|
|
IsUnsigned: false,
|
|
|
|
|
},
|
|
|
|
|
}), TableModelField{
|
|
|
|
|
Name: "TimeColumn1",
|
|
|
|
|
Type: Type{
|
|
|
|
|
ImportPath: "time",
|
|
|
|
|
Name: "*time.Time",
|
|
|
|
|
},
|
|
|
|
|
Tags: nil,
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-04-10 09:28:51 -04:00
|
|
|
|
|
|
|
|
func Test_Model_ShouldSkip(t *testing.T) {
|
|
|
|
|
tests := []struct {
|
|
|
|
|
name string
|
|
|
|
|
initial Model
|
|
|
|
|
skip bool
|
|
|
|
|
}{
|
|
|
|
|
{
|
|
|
|
|
name: "True",
|
|
|
|
|
initial: Model{Skip: false},
|
|
|
|
|
skip: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "False",
|
|
|
|
|
initial: Model{Skip: true},
|
|
|
|
|
skip: false,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
|
updatedModel := tt.initial.ShouldSkip(tt.skip)
|
|
|
|
|
require.Equal(t, tt.skip, updatedModel.Skip)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|