add unit tests

This commit is contained in:
MaysWind
2024-08-12 23:21:13 +08:00
parent 4987819227
commit d648226d13
8 changed files with 543 additions and 0 deletions
+151
View File
@@ -0,0 +1,151 @@
package validators
import (
"testing"
"github.com/go-playground/validator/v10"
"github.com/stretchr/testify/assert"
)
func TestEmptyAmount(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validAmountFilter", ValidAmountFilter)
assert.Nil(t, err)
err = validate.Var("", "validAmountFilter")
assert.Nil(t, err)
}
func TestValidOneParameterAmount(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validAmountFilter", ValidAmountFilter)
assert.Nil(t, err)
for _, filterType := range []string{"gt", "lt", "eq", "ne"} {
err = validate.Var(filterType+":0", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":1", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":-1", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":1073741824", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":-2147483648", "validAmountFilter")
assert.Nil(t, err)
}
}
func TestInvalidOneParameterAmount(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validAmountFilter", ValidAmountFilter)
assert.Nil(t, err)
for _, filterType := range []string{"gt", "lt", "eq", "ne"} {
err = validate.Var(filterType, "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+": ", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":-", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":a", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":-a", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1.1", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":-1.1", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1:2", "validAmountFilter")
assert.NotNil(t, err)
}
}
func TestValidTwoParameterAmount(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validAmountFilter", ValidAmountFilter)
assert.Nil(t, err)
for _, filterType := range []string{"bt", "nb"} {
err = validate.Var(filterType+":0:0", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":1:1", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":0:1", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":-1:-1", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":-1:0", "validAmountFilter")
assert.Nil(t, err)
err = validate.Var(filterType+":-2147483648:1073741824", "validAmountFilter")
assert.Nil(t, err)
}
}
func TestInvalidTwoParameterAmount(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validAmountFilter", ValidAmountFilter)
assert.Nil(t, err)
for _, filterType := range []string{"bt", "nb"} {
err = validate.Var(filterType+":", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+"::", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1:", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+"::1", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":-:-", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":a:b", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":-a:-b", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1.1:1.2", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":-1.2:-1.1", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1:0", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":0:-1", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1073741824:-2147483648", "validAmountFilter")
assert.NotNil(t, err)
err = validate.Var(filterType+":1:2:3", "validAmountFilter")
assert.NotNil(t, err)
}
}
+41
View File
@@ -0,0 +1,41 @@
package validators
import (
"testing"
"github.com/go-playground/validator/v10"
"github.com/stretchr/testify/assert"
)
func TestValidCurrency(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validCurrency", ValidCurrency)
assert.Nil(t, err)
err = validate.Var("CNY", "validCurrency")
assert.Nil(t, err)
err = validate.Var("USD", "validCurrency")
assert.Nil(t, err)
err = validate.Var("---", "validCurrency")
assert.Nil(t, err)
}
func TestInvalidCurrency(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validCurrency", ValidCurrency)
assert.Nil(t, err)
err = validate.Var("XXX", "validCurrency")
assert.NotNil(t, err)
err = validate.Var("RMB", "validCurrency")
assert.NotNil(t, err)
err = validate.Var("", "validCurrency")
assert.NotNil(t, err)
err = validate.Var("-", "validCurrency")
assert.NotNil(t, err)
}
+48
View File
@@ -0,0 +1,48 @@
package validators
import (
"testing"
"github.com/go-playground/validator/v10"
"github.com/stretchr/testify/assert"
)
func TestValidEmail(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validEmail", ValidEmail)
assert.Nil(t, err)
email := "foo@bar.com"
err = validate.Var(email, "validEmail")
assert.Nil(t, err)
email = "foo@1.2.3.4"
err = validate.Var(email, "validEmail")
assert.Nil(t, err)
email = "foo_bar@foo.bar"
err = validate.Var(email, "validEmail")
assert.Nil(t, err)
}
func TestInvalidEmail(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validEmail", ValidEmail)
assert.Nil(t, err)
email := "foo"
err = validate.Var(email, "validEmail")
assert.NotNil(t, err)
email = "@bar"
err = validate.Var(email, "validEmail")
assert.NotNil(t, err)
email = "foo@bar"
err = validate.Var(email, "validEmail")
assert.NotNil(t, err)
email = "foo@bar."
err = validate.Var(email, "validEmail")
assert.NotNil(t, err)
}
+56
View File
@@ -0,0 +1,56 @@
package validators
import (
"testing"
"github.com/go-playground/validator/v10"
"github.com/stretchr/testify/assert"
)
func TestValidHexRGBColor(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validHexRGBColor", ValidHexRGBColor)
assert.Nil(t, err)
color := "000000"
err = validate.Var(color, "validHexRGBColor")
assert.Nil(t, err)
color = "000"
err = validate.Var(color, "validHexRGBColor")
assert.Nil(t, err)
color = "e0e0e0"
err = validate.Var(color, "validHexRGBColor")
assert.Nil(t, err)
color = "ffffff"
err = validate.Var(color, "validHexRGBColor")
assert.Nil(t, err)
color = "FFFFFF"
err = validate.Var(color, "validHexRGBColor")
assert.Nil(t, err)
}
func TestInvalidHexRGBColor(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validHexRGBColor", ValidHexRGBColor)
assert.Nil(t, err)
color := "f"
err = validate.Var(color, "validHexRGBColor")
assert.NotNil(t, err)
color = "fffffff"
err = validate.Var(color, "validHexRGBColor")
assert.NotNil(t, err)
color = "gggggg"
err = validate.Var(color, "validHexRGBColor")
assert.NotNil(t, err)
color = "#ffffff"
err = validate.Var(color, "validHexRGBColor")
assert.NotNil(t, err)
}
+32
View File
@@ -0,0 +1,32 @@
package validators
import (
"testing"
"github.com/go-playground/validator/v10"
"github.com/stretchr/testify/assert"
)
func TestValidNotBlank(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("notBlank", NotBlank)
assert.Nil(t, err)
err = validate.Var("1", "notBlank")
assert.Nil(t, err)
err = validate.Var(" 1 ", "notBlank")
assert.Nil(t, err)
}
func TestInvalidNotBlank(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("notBlank", NotBlank)
assert.Nil(t, err)
err = validate.Var("", "notBlank")
assert.NotNil(t, err)
err = validate.Var(" ", "notBlank")
assert.NotNil(t, err)
}
+32
View File
@@ -0,0 +1,32 @@
package validators
import (
"testing"
"github.com/go-playground/validator/v10"
"github.com/stretchr/testify/assert"
)
func TestValidUsername(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validUsername", ValidUsername)
assert.Nil(t, err)
username := "foobar"
err = validate.Var(username, "validUsername")
assert.Nil(t, err)
username = "--foo_bar--"
err = validate.Var(username, "validUsername")
assert.Nil(t, err)
}
func TestInvalidUsername(t *testing.T) {
validate := validator.New()
err := validate.RegisterValidation("validUsername", ValidUsername)
assert.Nil(t, err)
username := "foo~bar~"
err = validate.Var(username, "validUsername")
assert.NotNil(t, err)
}