Bool support and type related insert/select tests
Go Tests / test (push) Failing after 6s

This commit is contained in:
2026-05-12 08:59:37 +02:00
parent ffd9cd004e
commit 1642a01aad
5 changed files with 176 additions and 14 deletions
+111 -1
View File
@@ -3,6 +3,7 @@ package simpleorm_test
import (
"os"
"testing"
"time"
simpleorm "git.gdulai.com/gdulai/simpleorm"
"git.gdulai.com/gdulai/simpleorm/exec"
@@ -299,7 +300,7 @@ func TestInsertAndDelete(t *testing.T) {
return
}
deleteExec, err := exec.NewDelete[Test](orm, selectRes)
deleteExec, err := exec.NewDelete(orm, selectRes)
// WHEN
_, err = deleteExec.Execute(conn)
@@ -319,3 +320,112 @@ func TestInsertAndDelete(t *testing.T) {
}
}
func TestBoolInsertAndSelectSingle(t *testing.T) {
// GIVEN
conn := simpleorm.OpenConnection("sqlite3", "file:test.db")
defer cleanUp("test.db", conn)
orm := simpleorm.NewORM(TestWithBool{})
exec.ExecuteDDL(conn, orm)
testObj := TestWithBool{BoolField: true}
insertExec, err := exec.NewInsert(orm, testObj)
if err != nil {
log.LogError("TestBoolInsertAndSelectSingle setup failed: %s", err)
t.Fail()
return
}
selectExec, err := exec.CreateSelect[TestWithBool](orm, "")
if err != nil {
log.LogError("TestBoolInsertAndSelectSingle setup failed: %s", err)
t.Fail()
return
}
// WHEN
_, err = insertExec.Execute(conn)
if err != nil {
log.LogError("TestBoolInsertAndSelectSingle insert failed: %s", err)
t.Fail()
return
}
res, err := selectExec.Execute(conn)
// THEN
if err != nil {
log.LogError("TestBoolInsertAndSelectSingle failure. %s", err)
t.Fail()
return
}
if len(res) != 1 {
log.LogError("TestBoolInsertAndSelectSingle test failed. Expected: 1, Actual: %s", len(res))
t.Fail()
return
}
singleRes := res[0]
if singleRes.ID != 1 || !singleRes.BoolField {
log.LogError("TestBoolInsertAndSelectSingle invalid result. Expected: %s, Actual: %s", testObj, singleRes)
t.Fail()
}
}
func TestTimeInsertAndSelectSingle(t *testing.T) {
// GIVEN
conn := simpleorm.OpenConnection("sqlite3", "file:test.db")
defer cleanUp("test.db", conn)
orm := simpleorm.NewORM(TestWithTime{})
exec.ExecuteDDL(conn, orm)
now := time.Now().UnixMilli()
testObj := TestWithTime{TimeField: now}
insertExec, err := exec.NewInsert(orm, testObj)
if err != nil {
log.LogError("TestTimeInsertAndSelectSingle setup failed: %s", err)
t.Fail()
return
}
selectExec, err := exec.CreateSelect[TestWithTime](orm, "")
if err != nil {
log.LogError("TestTimeInsertAndSelectSingle setup failed: %s", err)
t.Fail()
return
}
// WHEN
_, err = insertExec.Execute(conn)
if err != nil {
log.LogError("TestTimeInsertAndSelectSingle insert failed: %s", err)
t.Fail()
return
}
res, err := selectExec.Execute(conn)
// THEN
if err != nil {
log.LogError("TestTimeInsertAndSelectSingle failure. %s", err)
t.Fail()
return
}
if len(res) != 1 {
log.LogError("TestTimeInsertAndSelectSingle test failed. Expected: 1, Actual: %s", len(res))
t.Fail()
return
}
singleRes := res[0]
if singleRes.ID != 1 || singleRes.TimeField != now {
log.LogError("TestTimeInsertAndSelectSingle invalid result. Expected: %s, Actual: %s", testObj, singleRes)
t.Fail()
}
}