package errors import ( "os" "testing" "github.com/go-playground/validator/v10" "github.com/stretchr/testify/assert" ) func TestMain(m *testing.M) { os.Exit(m.Run()) } func TestNewFieldErrorDetail(t *testing.T) { testCases := map[string]struct { err validator.FieldError expected string }{ "Required": { err: &testFieldError{ field: "example", tag: "required", }, expected: NewRequiredFieldMessage("example"), }, "HostnameRFC1123": { err: &testFieldError{ field: "example", tag: "hostname_rfc1123", }, expected: NewInvalidRFC1123HostnameMessage("example"), }, } for name, tc := range testCases { t.Run(name, func(t *testing.T) { msg := NewFieldErrorDetail(tc.err) assert.Equal(t, tc.expected, msg) }) } } type testFieldError struct { validator.FieldError tag string field string } func (fe *testFieldError) Tag() string { return fe.tag } func (fe *testFieldError) Field() string { return fe.field }