123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package test
- import (
- "git.sxidc.com/go-framework/baize/framework/core/tag/check"
- "github.com/pkg/errors"
- "strings"
- "testing"
- "time"
- )
- type CustomCheckTagStruct struct {
- Time time.Time `check:"timenotzero,when=create/delete/update/foo"`
- }
- type CustomCheckTagPointerStruct struct {
- Time *time.Time `check:"timenotzero,when=create/delete/update/foo"`
- }
- var fieldMap = map[string]string{
- "Time": "测试时间",
- }
- func TestCustomCheckTag(t *testing.T) {
- now := time.Now().Local()
- customCheckTagStruct := CustomCheckTagStruct{
- Time: now,
- }
- customCheckTagPointerStruct := CustomCheckTagPointerStruct{
- Time: &now,
- }
- customCheckTagStructZero := CustomCheckTagStruct{}
- customCheckTagPointerStructZero := CustomCheckTagPointerStruct{}
- err := check.Struct(customCheckTagStruct, fieldMap).
- CheckWhen("create")
- if err != nil {
- t.Fatalf("%+v\n", err)
- }
- err = check.Struct(customCheckTagPointerStruct, fieldMap).
- CheckWhen("create")
- if err != nil {
- t.Fatalf("%+v\n", err)
- }
- err = check.Struct(&customCheckTagStruct, fieldMap).
- CheckWhen("delete")
- if err != nil {
- t.Fatalf("%+v\n", err)
- }
- err = check.Struct(&customCheckTagPointerStruct, fieldMap).
- CheckWhen("delete")
- if err != nil {
- t.Fatalf("%+v\n", err)
- }
- err = check.Struct(customCheckTagStructZero, fieldMap).
- CheckWhen("update")
- if err == nil || !strings.Contains(err.Error(), "使用了时间零值") {
- t.Fatalf("%+v\n", errors.New("没有检测出使用了时间零值"))
- }
- err = check.Struct(customCheckTagPointerStructZero, fieldMap).
- CheckWhen("update")
- if err == nil || !strings.Contains(err.Error(), "使用了时间零值") {
- t.Fatalf("%+v\n", errors.New("没有检测出使用了时间零值"))
- }
- err = check.Struct(&customCheckTagStructZero, fieldMap).
- CheckWhen("foo")
- if err == nil || !strings.Contains(err.Error(), "使用了时间零值") {
- t.Fatalf("%+v\n", errors.New("没有检测出使用了时间零值"))
- }
- err = check.Struct(&customCheckTagPointerStructZero, fieldMap).
- CheckWhen("foo")
- if err == nil || !strings.Contains(err.Error(), "使用了时间零值") {
- t.Fatalf("%+v\n", errors.New("没有检测出使用了时间零值"))
- }
- }
|