-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy patherror_test.go
More file actions
33 lines (28 loc) · 828 Bytes
/
Copy patherror_test.go
File metadata and controls
33 lines (28 loc) · 828 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package usecase_test
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
"github.com/swaggest/usecase"
"github.com/swaggest/usecase/status"
)
func TestError(t *testing.T) {
e := usecase.Error{
AppCode: 123,
StatusCode: status.FailedPrecondition,
Context: map[string]interface{}{
"foo": "bar",
},
}
assert.Equal(t, 123, e.AppErrCode())
assert.Equal(t, e.Context, e.Fields())
assert.Equal(t, status.FailedPrecondition, e.Status())
assert.EqualError(t, e, "failed precondition")
assert.EqualError(t, e.Unwrap(), "failed precondition")
e.Value = errors.New("failed")
assert.EqualError(t, e, "failed precondition: failed")
assert.EqualError(t, e.Unwrap(), "failed precondition: failed")
e.StatusCode = 0
assert.EqualError(t, e, "failed")
assert.EqualError(t, e.Unwrap(), "failed")
}