@@ -115,6 +115,57 @@ func TestNewAPIError(t *testing.T) {
115
115
}
116
116
}
117
117
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
+
118
169
func TestAPIError_ErrorOrNil (t * testing.T ) {
119
170
tests := []struct {
120
171
name string
0 commit comments