mirror of
https://github.com/zhufuyi/sponge.git
synced 2025-10-16 13:50:52 +08:00
add test
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPage(t *testing.T) {
|
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.
@@ -10,9 +10,13 @@ var sqliteToMysqlTypeMap = map[string]string{
|
|||||||
" INTEGER ": " INT ",
|
" INTEGER ": " INT ",
|
||||||
" REAL ": " FLOAT ",
|
" REAL ": " FLOAT ",
|
||||||
" BOOLEAN ": " TINYINT ",
|
" BOOLEAN ": " TINYINT ",
|
||||||
|
" NUMERIC ": " VARCHAR(255) ",
|
||||||
|
"AUTOINCREMENT": "auto_increment",
|
||||||
" integer ": " INT ",
|
" integer ": " INT ",
|
||||||
" real ": " FLOAT ",
|
" real ": " FLOAT ",
|
||||||
" boolean ": " TINYINT ",
|
" boolean ": " TINYINT ",
|
||||||
|
" numeric ": " VARCHAR(255) ",
|
||||||
|
"autoincrement": "auto_increment",
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSqliteTableInfo get table info from sqlite
|
// GetSqliteTableInfo get table info from sqlite
|
||||||
@@ -32,6 +36,7 @@ func GetSqliteTableInfo(dbFile string, tableName string) (string, error) {
|
|||||||
for k, v := range sqliteToMysqlTypeMap {
|
for k, v := range sqliteToMysqlTypeMap {
|
||||||
sql = strings.ReplaceAll(sql, k, v)
|
sql = strings.ReplaceAll(sql, k, v)
|
||||||
}
|
}
|
||||||
|
sql = strings.ReplaceAll(sql, "\"", "")
|
||||||
|
|
||||||
return sql, nil
|
return sql, nil
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user