package errutil
import (
"errors"
"testing"
"github.com/stretchr/testify/require"
)
func TestTryAddRevertReason(t *testing.T) {
t.Run("AddsReason", func(t *testing.T) {
err := stubError{}
result := TryAddRevertReason(err)
require.Contains(t, result.Error(), "kaboom")
})
t.Run("ReturnOriginalWhenNoErrorDataMethod", func(t *testing.T) {
err := errors.New("boom")
result := TryAddRevertReason(err)
require.Same(t, err, result)
})
}
type stubError struct{}
func (s stubError) Error() string {
return "where's the"
}
func (s stubError) ErrorData() interface{} {
return "kaboom"
}
-
Adrian Sutton authoredf99eca39