gorm/conditional/conditional_struct_test.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)
}