WIP: Refactor parse

This commit is contained in:
2026-06-05 15:54:47 +02:00
parent d20184a6f0
commit 146f07fa02
10 changed files with 255 additions and 180 deletions
+18 -13
View File
@@ -5,6 +5,7 @@ import (
"testing"
"git.gdulai.com/gdulai/simpleorm/exec"
"git.gdulai.com/gdulai/simpleorm/schema"
log "gitlab.com/gdulai/simpleloglvl"
)
@@ -281,22 +282,22 @@ func TestSelectOrderBy(t *testing.T) {
orm, conn := testSetup()
defer cleanUp("test.db", conn)
testEntites := []Test{}
testA := Test{Int64Field: -1, IntField: 1, StringField: "A"}
testB := Test{Int64Field: -1, IntField: 1, StringField: "B"}
testC := Test{Int64Field: -1, IntField: 1, StringField: "C"}
testD := Test{Int64Field: -1, IntField: 1, StringField: "D"}
testE := Test{Int64Field: -1, IntField: 1, StringField: "E"}
for i := 0; i < 1000; i++ {
testEntites = append(testEntites, Test{Int64Field: -1, IntField: i, StringField: "Entity " + strconv.Itoa(i)})
}
insertExec, err := exec.NewInsert[Test](orm, testEntites...)
insertExec, err := exec.NewInsert[Test](orm, testA, testB, testC, testD, testE)
if err != nil {
log.LogError("TestSelectWithLimitAndOffset setup failed: %s", err)
log.LogError("TestSelectOrderBy setup failed: %s", err)
t.Fail()
return
}
err = insertExec.Execute(conn)
if err != nil {
log.LogError("TestSelectWithLimitAndOffset setup failed: %s", err)
log.LogError("TestSelectOrderBy setup failed: %s", err)
t.Fail()
return
}
@@ -304,23 +305,27 @@ func TestSelectOrderBy(t *testing.T) {
selectExec, err := exec.CreateSelect[Test](orm)
if err != nil {
log.LogError("TestSelectWithLimitAndOffset failed: %s", err)
log.LogError("TestSelectOrderBy failed: %s", err)
t.Fail()
return
}
selectExec.OrderBy(exec.OrderBy{Column: "StringField", Direction: "ASC"})
selectExec.OrderBy(schema.OrderBy{Field: "StringField", Direction: "DESC"})
err = selectExec.Execute(conn)
if err != nil {
log.LogError("TestSelectWithLimitAndOffset failed: %s", err)
log.LogError("TestSelectOrderBy failed: %s", err)
t.Fail()
return
}
// THEN
var resultStr string
for _, obj := range selectExec.Results() {
resultStr += obj.StringField
}
if len(selectExec.Results()) != 100 {
log.LogError("TestSelectWithLimitAndOffset expected result size 100, actual: %s", len(selectExec.Results()))
if resultStr != "ABCDE" {
log.LogError("TestSelectOrderBy failed, epxected: ABCDE actual: %s", resultStr)
t.Fail()
}
}