139 lines
2.6 KiB
Go
139 lines
2.6 KiB
Go
package common
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewPaginationQuery(t *testing.T) {
|
|
resource := []struct {
|
|
label string
|
|
from int
|
|
size int
|
|
}{
|
|
{
|
|
"normal",
|
|
1,
|
|
10,
|
|
},
|
|
{
|
|
"normal",
|
|
0,
|
|
10,
|
|
},
|
|
{
|
|
"sizeError",
|
|
0,
|
|
0,
|
|
},
|
|
{
|
|
"fromError",
|
|
-1,
|
|
1,
|
|
},
|
|
{
|
|
"doubleError",
|
|
-1,
|
|
-1,
|
|
},
|
|
}
|
|
for _, item := range resource {
|
|
pgq := NewPaginationQuery(item.from, item.size)
|
|
|
|
flag := pgq.IsValid()
|
|
if !flag && item.label == "normal" {
|
|
t.Error(errors.New("IsValid error"))
|
|
}
|
|
|
|
str := pgq.String()
|
|
if str == "" && item.label == "normal" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
}
|
|
|
|
if !NoPagination.IsValid() {
|
|
t.Error(errors.New("IsValid error"))
|
|
}
|
|
if NoPagination.String() != "" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
}
|
|
|
|
func TestNewSortQuery(t *testing.T) {
|
|
resource := []string{"a", "param1", "d", "param2", "d", "param3"}
|
|
fake1 := []string{}
|
|
fake2 := []string{"a"}
|
|
fake3 := []string{"a", "p1", "b", "p2"}
|
|
|
|
sq := NewSortQuery(resource)
|
|
if sq.String() == "" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fakeSq1 := NewSortQuery(fake1)
|
|
if fakeSq1.String() != "" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fakeSq2 := NewSortQuery(fake2)
|
|
if fakeSq2.String() != "" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fakeSq3 := NewSortQuery(fake3)
|
|
if fakeSq3.String() != "" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
if NoSort.String() != "" {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
}
|
|
|
|
func TestNewFilterQuery(t *testing.T) {
|
|
resource := []string{"type", "param"}
|
|
fake1 := []string{}
|
|
fake2 := []string{"type"}
|
|
fake3 := []string{"_neqtype", "param"}
|
|
fake4 := []string{"_eqtype", "param"}
|
|
|
|
fq := NewFilterQuery(resource)
|
|
if fq.String() == " '1' = '1' " {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fqFake1 := NewFilterQuery(fake1)
|
|
if fqFake1.String() != " '1' = '1' " {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fqFake2 := NewFilterQuery(fake2)
|
|
if fqFake2.String() != " '1' = '1' " {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fqFake3 := NewFilterQuery(fake3)
|
|
if fqFake3.String() == " '1' = '1' " {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
|
|
fqFake4 := NewFilterQuery(fake4)
|
|
if fqFake4.String() == " '1' = '1' " {
|
|
t.Error(errors.New("string error"))
|
|
}
|
|
}
|
|
|
|
func TestNewDataSelectQuery(t *testing.T) {
|
|
resource1 := []string{"type", "param"}
|
|
resource2 := []string{"a", "param"}
|
|
|
|
pgq := NewPaginationQuery(0, 10)
|
|
sq := NewSortQuery(resource2)
|
|
fq := NewFilterQuery(resource1)
|
|
|
|
NewDataSelectQuery(nil, nil, nil)
|
|
NewDataSelectQuery(pgq, nil, nil)
|
|
NewDataSelectQuery(pgq, sq, nil)
|
|
NewDataSelectQuery(pgq, sq, fq)
|
|
}
|