Dawid Wysokiński
60d6dc1423
All checks were successful
continuous-integration/drone/push Build is passing
88 lines
2.1 KiB
Go
88 lines
2.1 KiB
Go
package domain_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"gitea.dwysokinski.me/twhelp/core/internal/domain"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestErrorCode_String(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
assert.Equal(t, domain.ErrorCodeUnknown.String(), "internal-server-error")
|
|
assert.Equal(t, domain.ErrorCodeEntityNotFound.String(), "entity-not-found")
|
|
assert.Equal(t, domain.ErrorCodeValidationError.String(), "validation-error")
|
|
}
|
|
|
|
func TestValidationError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.ValidationError{
|
|
Field: "test",
|
|
Err: domain.MinError{
|
|
Min: 25,
|
|
},
|
|
}
|
|
var _ domain.Error = err
|
|
assert.Equal(t, fmt.Sprintf("%s: %s", err.Field, err.Err.Error()), err.Error())
|
|
assert.Equal(t, err.Error(), err.UserError())
|
|
assert.ErrorIs(t, err, err.Err)
|
|
assert.Equal(t, domain.ErrorCodeValidationError, err.Code())
|
|
}
|
|
|
|
func TestSliceValidationError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.SliceValidationError{
|
|
Field: "test",
|
|
Index: 15,
|
|
Err: domain.MinError{
|
|
Min: 25,
|
|
},
|
|
}
|
|
var _ domain.Error = err
|
|
assert.Equal(t, fmt.Sprintf("%s[%d]: %s", err.Field, err.Index, err.Err.Error()), err.Error())
|
|
assert.Equal(t, err.Error(), err.UserError())
|
|
assert.ErrorIs(t, err, err.Err)
|
|
assert.Equal(t, domain.ErrorCodeValidationError, err.Code())
|
|
}
|
|
|
|
func TestMinError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.MinError{
|
|
Min: 25,
|
|
}
|
|
var _ domain.Error = err
|
|
assert.Equal(t, "must be no less than 25", err.Error())
|
|
assert.Equal(t, err.Error(), err.UserError())
|
|
assert.Equal(t, domain.ErrorCodeValidationError, err.Code())
|
|
}
|
|
|
|
func TestMaxError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.MaxError{
|
|
Max: 25,
|
|
}
|
|
var _ domain.Error = err
|
|
assert.Equal(t, "must be no greater than 25", err.Error())
|
|
assert.Equal(t, err.Error(), err.UserError())
|
|
assert.Equal(t, domain.ErrorCodeValidationError, err.Code())
|
|
}
|
|
|
|
func TestMaxLengthError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.MaxLengthError{
|
|
Max: 25,
|
|
}
|
|
var _ domain.Error = err
|
|
assert.Equal(t, "the length must be no more than 25", err.Error())
|
|
assert.Equal(t, err.Error(), err.UserError())
|
|
assert.Equal(t, domain.ErrorCodeValidationError, err.Code())
|
|
}
|