69 lines
1.8 KiB
Go
69 lines
1.8 KiB
Go
package domain_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"gitea.dwysokinski.me/twhelp/sessions/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")
|
|
assert.Equal(t, domain.ErrorCodeAlreadyExists.String(), "already-exists")
|
|
}
|
|
|
|
func TestValidationError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.ValidationError{
|
|
Field: "test",
|
|
Err: domain.ErrRequired,
|
|
}
|
|
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 TestMinLengthError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := domain.MinLengthError{
|
|
Min: 25,
|
|
}
|
|
var _ domain.Error = err
|
|
assert.Equal(t, "the length must be no less 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())
|
|
}
|
|
|
|
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())
|
|
}
|