浏览代码

Add more test for query

xormplus 7 年之前
父节点
当前提交
2fdd003403
共有 1 个文件被更改,包括 66 次插入0 次删除
  1. 66 0
      session_query_test.go

+ 66 - 0
session_query_test.go

@@ -186,6 +186,72 @@ func TestQueryNoParams(t *testing.T) {
 	assertResult(t, results)
 }
 
+func TestQueryStringNoParam(t *testing.T) {
+	assert.NoError(t, prepareEngine())
+
+	type GetVar4 struct {
+		Id  int64 `xorm:"autoincr pk"`
+		Msg bool  `xorm:"bit"`
+	}
+
+	assert.NoError(t, testEngine.Sync2(new(GetVar4)))
+
+	var data = GetVar4{
+		Msg: false,
+	}
+	_, err := testEngine.Insert(data)
+	assert.NoError(t, err)
+
+	records, err := testEngine.Table("get_var4").Limit(1).QueryString()
+	assert.NoError(t, err)
+	assert.EqualValues(t, 1, len(records))
+	assert.EqualValues(t, "1", records[0]["id"])
+	if testEngine.Dialect().URI().DbType == core.POSTGRES {
+		assert.EqualValues(t, "false", records[0]["msg"])
+	} else {
+		assert.EqualValues(t, "0", records[0]["msg"])
+	}
+
+	records, err = testEngine.Table("get_var4").Where(builder.Eq{"id": 1}).QueryString()
+	assert.NoError(t, err)
+	assert.EqualValues(t, 1, len(records))
+	assert.EqualValues(t, "1", records[0]["id"])
+	if testEngine.Dialect().URI().DbType == core.POSTGRES {
+		assert.EqualValues(t, "false", records[0]["msg"])
+	} else {
+		assert.EqualValues(t, "0", records[0]["msg"])
+	}
+}
+
+func TestQueryInterfaceNoParam(t *testing.T) {
+	assert.NoError(t, prepareEngine())
+
+	type GetVar5 struct {
+		Id  int64 `xorm:"autoincr pk"`
+		Msg bool  `xorm:"bit"`
+	}
+
+	assert.NoError(t, testEngine.Sync2(new(GetVar5)))
+
+	var data = GetVar5{
+		Msg: false,
+	}
+	_, err := testEngine.Insert(data)
+	assert.NoError(t, err)
+
+	records, err := testEngine.Table("get_var5").Limit(1).QueryInterface()
+	assert.NoError(t, err)
+	assert.EqualValues(t, 1, len(records))
+	assert.EqualValues(t, 1, toInt64(records[0]["id"]))
+	assert.EqualValues(t, 0, toInt64(records[0]["msg"]))
+
+	records, err = testEngine.Table("get_var5").Where(builder.Eq{"id": 1}).QueryInterface()
+	assert.NoError(t, err)
+	assert.EqualValues(t, 1, len(records))
+	assert.EqualValues(t, 1, toInt64(records[0]["id"]))
+	assert.EqualValues(t, 0, toInt64(records[0]["msg"]))
+}
+
 func TestQueryWithBuilder(t *testing.T) {
 	assert.NoError(t, prepareEngine())