add unit tests

This commit is contained in:
MaysWind
2024-11-10 21:25:16 +08:00
parent f6dd4c03c3
commit 798fb8f937
+36 -3
View File
@@ -2,25 +2,58 @@ package errs
import (
"errors"
"net/http"
"testing"
"github.com/stretchr/testify/assert"
)
func TestErrorError(t *testing.T) {
err := New(CATEGORY_SYSTEM, 12, 34, http.StatusInternalServerError, "error message")
assert.EqualError(t, err, "error message")
}
func TestErrorCode(t *testing.T) {
err := New(CATEGORY_SYSTEM, 12, 34, http.StatusInternalServerError, "error message")
assert.Equal(t, int32(112034), err.Code())
}
func TestMultiError(t *testing.T) {
err1 := errors.New("error1 message")
err2 := errors.New("error2 message")
err := NewMultiErrorOrNil(err1, err2)
assert.Equal(t, "multi errors: error1 message, error2 message", err.Error())
assert.EqualError(t, err, "multi errors: error1 message, error2 message")
}
func TestNewMultiErrorOrNilWithOnlyOneParamerter(t *testing.T) {
func TestNewMultiErrorOrNilWithOnlyOneParameter(t *testing.T) {
err1 := errors.New("error1 message")
err := NewMultiErrorOrNil(err1)
assert.Equal(t, err1, err)
assert.EqualError(t, err, "error1 message")
}
func TestNewMultiErrorOrNilWithoutOneParamerter(t *testing.T) {
func TestNewMultiErrorOrNilWithoutOneParameter(t *testing.T) {
err := NewMultiErrorOrNil()
assert.Nil(t, err)
}
func TestOr(t *testing.T) {
err1 := errors.New("test error")
err2 := New(CATEGORY_SYSTEM, 12, 34, http.StatusInternalServerError, "test custom error")
err := Or(err1, err2)
assert.Equal(t, err2, err)
assert.EqualError(t, err, "test custom error")
err1 = New(CATEGORY_SYSTEM, 12, 34, http.StatusInternalServerError, "test custom error1")
err2 = New(CATEGORY_SYSTEM, 23, 45, http.StatusInternalServerError, "test custom error2")
err = Or(err1, err2)
assert.Equal(t, err1, err)
assert.EqualError(t, err, "test custom error1")
}
func TestIsCustomError(t *testing.T) {
err1 := errors.New("test error")
err2 := New(CATEGORY_SYSTEM, 12, 34, http.StatusInternalServerError, "test custom error")
assert.False(t, IsCustomError(err1))
assert.True(t, IsCustomError(err2))
}