@@ -127,16 +127,63 @@ describe('common/util', function() {
127
127
assert . strictEqual ( apiError . response , error . response ) ;
128
128
} ) ;
129
129
130
- it ( 'should build ApiError with default status message' , function ( ) {
130
+ it ( 'should detect ApiError message from response body' , function ( ) {
131
+ var errorMessage = 'API error message' ;
132
+
131
133
var error = {
132
- errors : [ ] ,
134
+ errors : [ new Error ( errorMessage ) ] ,
133
135
code : 100 ,
134
136
response : { a : 'b' , c : 'd' }
135
137
} ;
136
138
137
139
var apiError = new util . ApiError ( error ) ;
138
140
139
- assert . strictEqual ( apiError . message , 'Error during request.' ) ;
141
+ assert . strictEqual ( apiError . message , errorMessage ) ;
142
+ } ) ;
143
+
144
+ it ( 'should favor an explicit message over response body' , function ( ) {
145
+ var errorMessage = 'API error message' ;
146
+ var expectedErrorMessage = 'Custom error message' ;
147
+
148
+ var error = {
149
+ errors : [ new Error ( errorMessage ) ] ,
150
+ code : 100 ,
151
+ response : { a : 'b' , c : 'd' } ,
152
+ message : expectedErrorMessage
153
+ } ;
154
+
155
+ var apiError = new util . ApiError ( error ) ;
156
+
157
+ assert . strictEqual ( apiError . message , expectedErrorMessage ) ;
158
+ } ) ;
159
+
160
+ it ( 'should use default message if there are no errors' , function ( ) {
161
+ var expectedErrorMessage = 'Error during request.' ;
162
+
163
+ var error = {
164
+ code : 100 ,
165
+ response : { a : 'b' , c : 'd' } ,
166
+ message : expectedErrorMessage
167
+ } ;
168
+
169
+ var apiError = new util . ApiError ( error ) ;
170
+
171
+ assert . strictEqual ( apiError . message , expectedErrorMessage ) ;
172
+ } ) ;
173
+
174
+ it ( 'should use default message if too many errors' , function ( ) {
175
+ var expectedErrorMessage = 'Error during request.' ;
176
+
177
+ var error = {
178
+ errors : [ new Error ( ) , new Error ( ) ] ,
179
+ code : 100 ,
180
+ response : { a : 'b' , c : 'd' } ,
181
+ message : expectedErrorMessage
182
+ } ;
183
+
184
+ var apiError = new util . ApiError ( error ) ;
185
+
186
+ assert . strictEqual ( apiError . message , expectedErrorMessage ) ;
140
187
} ) ;
141
188
} ) ;
142
189
0 commit comments