test: 补充 Condition.ToSql 迁移到表达式树后的测试覆盖
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
package condition_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"git.fsdpf.net/go/condition"
|
||||||
|
"git.fsdpf.net/go/db"
|
||||||
|
"github.com/stretchr/testify/suite"
|
||||||
|
|
||||||
|
_ "git.fsdpf.net/go/db/dialect/sqlite3"
|
||||||
|
db_eng "git.fsdpf.net/go/db/engine"
|
||||||
|
"git.fsdpf.net/go/db/sqlgen"
|
||||||
|
)
|
||||||
|
|
||||||
|
type conditionTest struct {
|
||||||
|
suite.Suite
|
||||||
|
db *db.Database
|
||||||
|
esg sqlgen.ExpressionSQLGenerator
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConditionSuite(t *testing.T) {
|
||||||
|
suite.Run(t, new(conditionTest))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *conditionTest) SetupSuite() {
|
||||||
|
database := db_eng.Open(map[string]db_eng.DBConfig{
|
||||||
|
"condition-test": db_eng.NewDBConfig("sqlite3", db_eng.WithSQLiteFile(":memory:")),
|
||||||
|
})
|
||||||
|
t.db = database.Connection("condition-test")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *conditionTest) TestToSql() {
|
||||||
|
cond := condition.New(condition.Describe("测试"))
|
||||||
|
cond.SetExpr(condition.NewExpr("User", "name", condition.Operator(condition.LIKE), condition.Token("张三", condition.STRING))).
|
||||||
|
SetExpr(condition.NewExpr("User", "age", condition.Token("18", condition.STRING))).
|
||||||
|
SetExpr(condition.NewExpr("User", "attr->'birthday'", condition.Token("18", condition.STRING))).
|
||||||
|
SetExpr(condition.NewExpr("User", "roles", condition.FieldSqlFn("json_contains", ""), condition.Token("admin", condition.STRING)))
|
||||||
|
// SetExpr(condition.NewExpr("User", "roles", condition.FieldSqlFn("json_contains", ""), condition.Token("admin", condition.STRING)))
|
||||||
|
|
||||||
|
t.T().Log(t.db.From(db.T("users").As("User")).Where(cond.ToSql(nil)).ToSQL())
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user