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