Skip to content

Commit e13845d

Browse files
committed
test: add UpdateColumns struct case
1 parent efb239d commit e13845d

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

version_test.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ func TestVersion(t *testing.T) {
5858
rows = DB.Model(&user).Update("age", 14).RowsAffected
5959
require.Equal(t, int64(0), rows)
6060

61-
// No version restriction and updated_at will not be updated
62-
// UpdateColumn will skip hooks
63-
rows = DB.Model(&User{}).Where("id = 1").UpdateColumn("age", 12).RowsAffected
61+
rows = DB.Model(&User{}).Where("id = 1").Update("age", 12).RowsAffected
6462
require.Equal(t, int64(1), rows)
6563
require.Nil(t, DB.First(&user).Error)
6664
require.Equal(t, int64(4), user.Version.Int64)
@@ -90,11 +88,17 @@ func TestVersion(t *testing.T) {
9088
}).Statement.SQL.String()
9189
require.Contains(t, sql, "`version`=`version`+1")
9290

93-
sql = DB.Session(&gorm.Session{DryRun: true}).Model(&user).Updates(map[string]interface{}{
94-
"age": 18,
95-
"version": 1,
91+
sql = DB.Session(&gorm.Session{DryRun: true}).Model(&user).UpdateColumns(User{
92+
Age: 18,
9693
}).Statement.SQL.String()
9794
require.Contains(t, sql, "`version`=`version`+1")
95+
require.Contains(t, sql, "`version` = ?")
96+
97+
sql = DB.Session(&gorm.Session{DryRun: true}).Model(&user).UpdateColumns(map[string]interface{}{
98+
"age": 18,
99+
}).Statement.SQL.String()
100+
require.Contains(t, sql, "`version`=`version`+1")
101+
require.Contains(t, sql, "`version` = ?")
98102

99103
// support create
100104
users := []User{{Name: "foo", Age: 30}, {Name: "bar", Age: 40, Version: Version{Int64: 100}}}

0 commit comments

Comments
 (0)