mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-18 08:44:25 +08:00
add unit tests
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user