From de482f57ff48f18e5ef8b98ac687c02b60db180c Mon Sep 17 00:00:00 2001 From: Jinzhu Date: Mon, 6 Jul 2020 15:47:33 +0800 Subject: [PATCH] Test raw sql with gorm.Expr --- tests/sql_builder_test.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/sql_builder_test.go b/tests/sql_builder_test.go index b78c2484..634ee1cb 100644 --- a/tests/sql_builder_test.go +++ b/tests/sql_builder_test.go @@ -76,10 +76,19 @@ func TestRaw(t *testing.T) { t.Errorf("Raw with Rows should find one record with name 3") } - DB.Exec("update users set name=? where name in (?)", "jinzhu", []string{user1.Name, user2.Name, user3.Name}) + DB.Exec("update users set name=? where name in (?)", "jinzhu-raw", []string{user1.Name, user2.Name, user3.Name}) if DB.Where("name in (?)", []string{user1.Name, user2.Name, user3.Name}).First(&User{}).Error != gorm.ErrRecordNotFound { t.Error("Raw sql to update records") } + + DB.Exec("update users set age=? where name = ?", gorm.Expr("age * ? + ?", 2, 10), "jinzhu-raw") + + var age int + DB.Raw("select sum(age) from users where name = ?", "jinzhu-raw").Scan(&age) + + if age != ((1+10+20)*2 + 30) { + t.Errorf("Invalid age, got %v", age) + } } func TestRowsWithGroup(t *testing.T) {