Skip to content

Commit f4060de

Browse files
committed
chore: add Error test
1 parent af334c1 commit f4060de

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

api/types/errors_test.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,57 @@ func TestNewAPIError(t *testing.T) {
115115
}
116116
}
117117

118+
func TestAPIError_Error(t *testing.T) {
119+
tests := []struct {
120+
name string
121+
apiError *APIError
122+
expected string
123+
}{
124+
{
125+
name: "nil error",
126+
apiError: nil,
127+
expected: "",
128+
},
129+
{
130+
name: "error with message, no sub-errors",
131+
apiError: &APIError{
132+
Message: "main error message",
133+
Errors: []*APIError{},
134+
},
135+
expected: "main error message",
136+
},
137+
{
138+
name: "error with message and one sub-error",
139+
apiError: &APIError{
140+
Message: "main error message",
141+
Errors: []*APIError{
142+
{Message: "sub-error 1"},
143+
},
144+
},
145+
expected: "main error message: sub-error 1",
146+
},
147+
{
148+
name: "error with message and multiple sub-errors",
149+
apiError: &APIError{
150+
Message: "main error message",
151+
Errors: []*APIError{
152+
{Message: "sub-error 1"},
153+
{Message: "sub-error 2"},
154+
{Message: "sub-error 3"},
155+
},
156+
},
157+
expected: "main error message: sub-error 1; sub-error 2; sub-error 3",
158+
},
159+
}
160+
161+
for _, tt := range tests {
162+
t.Run(tt.name, func(t *testing.T) {
163+
got := tt.apiError.Error()
164+
assert.Equal(t, tt.expected, got, "Error() should return the expected string")
165+
})
166+
}
167+
}
168+
118169
func TestAPIError_ErrorOrNil(t *testing.T) {
119170
tests := []struct {
120171
name string

0 commit comments

Comments
 (0)