mirror of
https://github.com/zhufuyi/sponge.git
synced 2025-10-25 01:41:32 +08:00
add test
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestPage(t *testing.T) {
|
||||
@@ -457,3 +459,83 @@ func TestParams_ConvertToGormConditions(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestConditions_ConvertToGorm(t *testing.T) {
|
||||
c := Conditions{
|
||||
Columns: []Column{
|
||||
{
|
||||
Name: "name",
|
||||
Value: "ZhangSan",
|
||||
},
|
||||
{
|
||||
Name: "gender",
|
||||
Value: "male",
|
||||
},
|
||||
}}
|
||||
str, values, err := c.ConvertToGorm()
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
assert.Equal(t, "name = ? AND gender = ?", str)
|
||||
assert.Equal(t, len(values), 2)
|
||||
}
|
||||
|
||||
func TestConditions_checkValid(t *testing.T) {
|
||||
// empty error
|
||||
c := Conditions{}
|
||||
err := c.CheckValid()
|
||||
assert.Error(t, err)
|
||||
|
||||
// value is empty error
|
||||
c = Conditions{
|
||||
Columns: []Column{
|
||||
{
|
||||
Name: "foo",
|
||||
Value: nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
err = c.CheckValid()
|
||||
assert.Error(t, err)
|
||||
|
||||
// exp error
|
||||
c = Conditions{
|
||||
Columns: []Column{
|
||||
{
|
||||
Name: "foo",
|
||||
Value: "bar",
|
||||
Exp: "unknown-exp",
|
||||
},
|
||||
},
|
||||
}
|
||||
err = c.CheckValid()
|
||||
assert.Error(t, err)
|
||||
|
||||
// logic error
|
||||
c = Conditions{
|
||||
Columns: []Column{
|
||||
{
|
||||
Name: "foo",
|
||||
Value: "bar",
|
||||
Logic: "unknown-logic",
|
||||
},
|
||||
},
|
||||
}
|
||||
err = c.CheckValid()
|
||||
assert.Error(t, err)
|
||||
|
||||
// success
|
||||
c = Conditions{
|
||||
Columns: []Column{
|
||||
{
|
||||
Name: "name",
|
||||
Value: "ZhangSan",
|
||||
},
|
||||
{
|
||||
Name: "gender",
|
||||
Value: "male",
|
||||
},
|
||||
}}
|
||||
err = c.CheckValid()
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -7,12 +7,16 @@ import (
|
||||
)
|
||||
|
||||
var sqliteToMysqlTypeMap = map[string]string{
|
||||
" INTEGER ": " INT ",
|
||||
" REAL ": " FLOAT ",
|
||||
" BOOLEAN ": " TINYINT ",
|
||||
" integer ": " INT ",
|
||||
" real ": " FLOAT ",
|
||||
" boolean ": " TINYINT ",
|
||||
" INTEGER ": " INT ",
|
||||
" REAL ": " FLOAT ",
|
||||
" BOOLEAN ": " TINYINT ",
|
||||
" NUMERIC ": " VARCHAR(255) ",
|
||||
"AUTOINCREMENT": "auto_increment",
|
||||
" integer ": " INT ",
|
||||
" real ": " FLOAT ",
|
||||
" boolean ": " TINYINT ",
|
||||
" numeric ": " VARCHAR(255) ",
|
||||
"autoincrement": "auto_increment",
|
||||
}
|
||||
|
||||
// GetSqliteTableInfo get table info from sqlite
|
||||
@@ -32,6 +36,7 @@ func GetSqliteTableInfo(dbFile string, tableName string) (string, error) {
|
||||
for k, v := range sqliteToMysqlTypeMap {
|
||||
sql = strings.ReplaceAll(sql, k, v)
|
||||
}
|
||||
sql = strings.ReplaceAll(sql, "\"", "")
|
||||
|
||||
return sql, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user