Skip to content
This repository was archived by the owner on Sep 7, 2021. It is now read-only.
This repository is currently being migrated. It's locked while the migration is in progress.

Commit ab17aa2

Browse files
authored
Add more test for query (#932)
* add more test for query * fix tests
1 parent d85bb49 commit ab17aa2

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

session_query_test.go

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"time"
1212

1313
"github.com/go-xorm/builder"
14+
"github.com/go-xorm/core"
1415

1516
"github.com/stretchr/testify/assert"
1617
)
@@ -186,6 +187,72 @@ func TestQueryNoParams(t *testing.T) {
186187
assertResult(t, results)
187188
}
188189

190+
func TestQueryStringNoParam(t *testing.T) {
191+
assert.NoError(t, prepareEngine())
192+
193+
type GetVar4 struct {
194+
Id int64 `xorm:"autoincr pk"`
195+
Msg bool `xorm:"bit"`
196+
}
197+
198+
assert.NoError(t, testEngine.Sync2(new(GetVar4)))
199+
200+
var data = GetVar4{
201+
Msg: false,
202+
}
203+
_, err := testEngine.Insert(data)
204+
assert.NoError(t, err)
205+
206+
records, err := testEngine.Table("get_var4").Limit(1).QueryString()
207+
assert.NoError(t, err)
208+
assert.EqualValues(t, 1, len(records))
209+
assert.EqualValues(t, "1", records[0]["id"])
210+
if testEngine.Dialect().URI().DbType == core.POSTGRES {
211+
assert.EqualValues(t, "false", records[0]["msg"])
212+
} else {
213+
assert.EqualValues(t, "0", records[0]["msg"])
214+
}
215+
216+
records, err = testEngine.Table("get_var4").Where(builder.Eq{"id": 1}).QueryString()
217+
assert.NoError(t, err)
218+
assert.EqualValues(t, 1, len(records))
219+
assert.EqualValues(t, "1", records[0]["id"])
220+
if testEngine.Dialect().URI().DbType == core.POSTGRES {
221+
assert.EqualValues(t, "false", records[0]["msg"])
222+
} else {
223+
assert.EqualValues(t, "0", records[0]["msg"])
224+
}
225+
}
226+
227+
func TestQueryInterfaceNoParam(t *testing.T) {
228+
assert.NoError(t, prepareEngine())
229+
230+
type GetVar5 struct {
231+
Id int64 `xorm:"autoincr pk"`
232+
Msg bool `xorm:"bit"`
233+
}
234+
235+
assert.NoError(t, testEngine.Sync2(new(GetVar5)))
236+
237+
var data = GetVar5{
238+
Msg: false,
239+
}
240+
_, err := testEngine.Insert(data)
241+
assert.NoError(t, err)
242+
243+
records, err := testEngine.Table("get_var5").Limit(1).QueryInterface()
244+
assert.NoError(t, err)
245+
assert.EqualValues(t, 1, len(records))
246+
assert.EqualValues(t, 1, toInt64(records[0]["id"]))
247+
assert.EqualValues(t, 0, toInt64(records[0]["msg"]))
248+
249+
records, err = testEngine.Table("get_var5").Where(builder.Eq{"id": 1}).QueryInterface()
250+
assert.NoError(t, err)
251+
assert.EqualValues(t, 1, len(records))
252+
assert.EqualValues(t, 1, toInt64(records[0]["id"]))
253+
assert.EqualValues(t, 0, toInt64(records[0]["msg"]))
254+
}
255+
189256
func TestQueryWithBuilder(t *testing.T) {
190257
assert.NoError(t, prepareEngine())
191258

0 commit comments

Comments
 (0)