[#6372] Add test code

This commit is contained in:
홍성욱 2024-11-07 17:46:44 +09:00
parent 697195d4e5
commit 2c10b8b58c

View File

@ -148,6 +148,8 @@ func TestSmartMigrateColumn(t *testing.T) {
ID uint
Name string
Salary float64
Bonus float64 `gorm:"not null"`
Stock float64
Birthday time.Time `gorm:"precision:4"`
}
@ -157,8 +159,10 @@ func TestSmartMigrateColumn(t *testing.T) {
type UserMigrateColumn2 struct {
ID uint
Name string `gorm:"size:128"`
Salary float64 `gorm:"precision:2"`
Name string `gorm:"size:128"`
Salary float64 `gorm:"precision:2"`
Bonus float64
Stock float64 `gorm:"not null"`
Birthday time.Time `gorm:"precision:2"`
NameIgnoreMigration string `gorm:"size:100"`
}
@ -182,6 +186,16 @@ func TestSmartMigrateColumn(t *testing.T) {
if precision, o, _ := columnType.DecimalSize(); (fullSupported || precision != 0) && precision != 2 {
t.Fatalf("salary's precision should be 2, but got %v %v", precision, o)
}
case "bonus":
// allow to change non-nullable to nullable
if nullable, _ := columnType.Nullable(); !nullable {
t.Fatalf("bonus's nullable should be true, bug got %t", nullable)
}
case "stock":
// do not allow to change nullable to non-nullable
if nullable, _ := columnType.Nullable(); !nullable {
t.Fatalf("stock's nullable should be true, bug got %t", nullable)
}
case "birthday":
if precision, _, _ := columnType.DecimalSize(); (fullSupported || precision != 0) && precision != 2 {
t.Fatalf("birthday's precision should be 2, but got %v", precision)