dcbot/internal/domain/monitor_test.go
Dawid Wysokiński e110807619
All checks were successful
continuous-integration/drone/push Build is passing
refactor: group & monitor refactor (#107)
Reviewed-on: #107
2023-06-18 06:47:51 +00:00

49 lines
1.3 KiB
Go

package domain_test
import (
"fmt"
"testing"
"gitea.dwysokinski.me/twhelp/dcbot/internal/domain"
"github.com/google/uuid"
"github.com/stretchr/testify/assert"
)
func TestMonitorAlreadyExistsError(t *testing.T) {
t.Parallel()
err := domain.MonitorAlreadyExistsError{
GroupID: uuid.NewString(),
TribeID: 1234,
}
var _ domain.Error = err
assert.Equal(t, fmt.Sprintf("monitor (groupID=%s,tribeID=%d) already exists", err.GroupID, err.TribeID), err.Error())
assert.Equal(t, err.Error(), err.UserError())
assert.Equal(t, domain.ErrorCodeAlreadyExists, err.Code())
}
func TestMonitorLimitReachedError(t *testing.T) {
t.Parallel()
err := domain.MonitorLimitReachedError{
Current: 10,
Limit: 10,
}
var _ domain.Error = err
assert.Equal(t, fmt.Sprintf("monitor limit has been reached (%d/%d)", err.Current, err.Limit), err.Error())
assert.Equal(t, err.Error(), err.UserError())
assert.Equal(t, domain.ErrorCodeValidationError, err.Code())
}
func TestMonitorNotFoundError(t *testing.T) {
t.Parallel()
err := domain.MonitorNotFoundError{
ID: uuid.NewString(),
}
var _ domain.Error = err
assert.Equal(t, fmt.Sprintf("monitor (id=%s) not found", err.ID), err.Error())
assert.Equal(t, err.Error(), err.UserError())
assert.Equal(t, domain.ErrorCodeEntityNotFound, err.Code())
}