mirror of
https://github.com/pocketbase/pocketbase.git
synced 2025-03-20 22:36:00 +02:00
40 lines
1.3 KiB
Go
40 lines
1.3 KiB
Go
package validators_test
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"testing"
|
|
|
|
validation "github.com/go-ozzo/ozzo-validation/v4"
|
|
"github.com/pocketbase/pocketbase/core/validators"
|
|
)
|
|
|
|
func TestJoinValidationErrors(t *testing.T) {
|
|
scenarios := []struct {
|
|
errA error
|
|
errB error
|
|
expected string
|
|
}{
|
|
{nil, nil, "<nil>"},
|
|
{errors.New("abc"), nil, "abc"},
|
|
{nil, errors.New("abc"), "abc"},
|
|
{errors.New("abc"), errors.New("456"), "abc\n456"},
|
|
{validation.Errors{"test1": errors.New("test1_err")}, nil, "test1: test1_err."},
|
|
{nil, validation.Errors{"test2": errors.New("test2_err")}, "test2: test2_err."},
|
|
{validation.Errors{}, errors.New("456"), "\n456"},
|
|
{errors.New("456"), validation.Errors{}, "456\n"},
|
|
{validation.Errors{"test1": errors.New("test1_err")}, errors.New("456"), "test1: test1_err."},
|
|
{errors.New("456"), validation.Errors{"test2": errors.New("test2_err")}, "test2: test2_err."},
|
|
{validation.Errors{"test1": errors.New("test1_err")}, validation.Errors{"test2": errors.New("test2_err")}, "test1: test1_err; test2: test2_err."},
|
|
}
|
|
|
|
for i, s := range scenarios {
|
|
t.Run(fmt.Sprintf("%d_%#T_%T", i, s.errA, s.errB), func(t *testing.T) {
|
|
result := fmt.Sprintf("%v", validators.JoinValidationErrors(s.errA, s.errB))
|
|
if result != s.expected {
|
|
t.Fatalf("Expected\n%v\ngot\n%v", s.expected, result)
|
|
}
|
|
})
|
|
}
|
|
}
|