179 lines
4.0 KiB
Go
179 lines
4.0 KiB
Go
package conditional
|
|
|
|
import (
|
|
"log"
|
|
"testing"
|
|
)
|
|
|
|
type User struct {
|
|
Id uint `json:"id"`
|
|
Name string `json:"name"`
|
|
Level uint `json:"level"`
|
|
Status uint `json:"status"`
|
|
CreatedAt uint `json:"createdAt"`
|
|
UpdatedAt uint `json:"updatedAt"`
|
|
}
|
|
|
|
func TestQueryStructConditionalNeq(t *testing.T) {
|
|
search := struct {
|
|
NeqId uint
|
|
}{NeqId: 1}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalEq(t *testing.T) {
|
|
//search := struct {
|
|
// Id uint
|
|
//}{Id: 1}
|
|
search := struct {
|
|
EqId uint
|
|
}{EqId: 1}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalLt(t *testing.T) {
|
|
search := struct {
|
|
LtId uint
|
|
}{LtId: 1}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalGt(t *testing.T) {
|
|
search := struct {
|
|
GtId uint
|
|
}{GtId: 1}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalIn(t *testing.T) {
|
|
search := struct {
|
|
InId []uint
|
|
}{InId: []uint{1, 2}}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalNin(t *testing.T) {
|
|
search := struct {
|
|
NinId []uint
|
|
}{NinId: []uint{1, 2}}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalLike(t *testing.T) {
|
|
search := struct {
|
|
LikeName string
|
|
}{LikeName: "f%"}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalNlike(t *testing.T) {
|
|
search := struct {
|
|
NlikeName string
|
|
}{NlikeName: "f%"}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalPage(t *testing.T) {
|
|
search := struct {
|
|
Page int
|
|
Pagesize int
|
|
}{Page: 2, Pagesize: 2}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalOrder(t *testing.T) {
|
|
search := struct {
|
|
OrderKey string
|
|
}{OrderKey: "descId"}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalPage1Sum(t *testing.T) {
|
|
search := struct {
|
|
Page int
|
|
}{Page: 1}
|
|
sum := new(struct {
|
|
Level uint
|
|
})
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, sum, total, 10, 1)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(sum, list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalNotAllowEmptyString(t *testing.T) {
|
|
search := struct {
|
|
Name string
|
|
}{Name: ""}
|
|
//search := struct {
|
|
// Name string
|
|
//}{Name: "foo"}
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), search, list, nil, total, 10, 0)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|
|
|
|
func TestQueryStructConditionalMaxCount(t *testing.T) {
|
|
list, total := new([]User), new(int64)
|
|
err := QueryStructConditional(initDB(), nil, list, nil, total, 2, 0)
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
log.Println(list, *total)
|
|
}
|