Browse Source

add test for find

xormplus 7 years ago
parent
commit
c3087cfaaa
1 changed files with 68 additions and 0 deletions
  1. 68 0
      session_find_test.go

+ 68 - 0
session_find_test.go

@@ -488,3 +488,71 @@ func TestFindBit(t *testing.T) {
 	assert.NoError(t, err)
 	assert.EqualValues(t, 2, len(results))
 }
+
+func TestFindMark(t *testing.T) {
+
+	type Mark struct {
+		Mark1 string `xorm:"VARCHAR(1)"`
+		Mark2 string `xorm:"VARCHAR(1)"`
+		MarkA string `xorm:"VARCHAR(1)"`
+	}
+
+	assert.NoError(t, prepareEngine())
+	assertSync(t, new(Mark))
+
+	cnt, err := testEngine.Insert([]Mark{
+		{
+			Mark1: "1",
+			Mark2: "2",
+			MarkA: "A",
+		},
+		{
+			Mark1: "1",
+			Mark2: "2",
+			MarkA: "A",
+		},
+	})
+	assert.NoError(t, err)
+	assert.EqualValues(t, 2, cnt)
+
+	var results = make([]Mark, 0, 2)
+	err = testEngine.Find(&results)
+	assert.NoError(t, err)
+	assert.EqualValues(t, 2, len(results))
+}
+
+func TestFindAndCountOneFunc(t *testing.T) {
+	type FindAndCountStruct struct {
+		Id  int64
+		Content string
+		Msg bool `xorm:"bit"`
+	}
+
+	assert.NoError(t, prepareEngine())
+	assertSync(t, new(FindAndCountStruct))
+
+	cnt, err := testEngine.Insert([]FindAndCountStruct{
+		{
+			Content: "111",
+			Msg: false,
+		},
+		{
+			Content: "222",
+			Msg: true,
+		},
+	})
+	assert.NoError(t, err)
+	assert.EqualValues(t, 2, cnt)
+
+	var results = make([]FindAndCountStruct, 0, 2)
+	cnt, err = testEngine.FindAndCount(&results)
+	assert.NoError(t, err)
+	assert.EqualValues(t, 2, len(results))
+	assert.EqualValues(t, 2, cnt)
+
+	results = make([]FindAndCountStruct, 0, 1)
+	cnt, err = testEngine.Where("msg = ?", true).FindAndCount(&results)
+	assert.NoError(t, err)
+	assert.EqualValues(t, 1, len(results))
+	assert.EqualValues(t, 1, cnt)
+}