From e0bde828d62bae4d6f82193411230ac86e66f040 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 10 Apr 2018 10:58:12 +0800 Subject: [PATCH] add test for (id) replace --- session_get_test.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/session_get_test.go b/session_get_test.go index 6a2fd575..ab40394d 100644 --- a/session_get_test.go +++ b/session_get_test.go @@ -279,3 +279,29 @@ func TestGetActionMapping(t *testing.T) { ID(1).Get(&valuesSlice) assert.NoError(t, err) } + +func TestGetStructId(t *testing.T) { + type TestGetStruct struct { + Id int64 + } + + assert.NoError(t, prepareEngine()) + assertSync(t, new(TestGetStruct)) + + _, err := testEngine.Insert(&TestGetStruct{}) + assert.NoError(t, err) + _, err = testEngine.Insert(&TestGetStruct{}) + assert.NoError(t, err) + + type maxidst struct { + Id int64 + } + + //var id int64 + var maxid maxidst + sql := "select max(id) as id from " + testEngine.TableName(&TestGetStruct{}, true) + has, err := testEngine.SQL(sql).Get(&maxid) + assert.NoError(t, err) + assert.True(t, has) + assert.EqualValues(t, 2, maxid.Id) +}