@@ -54,17 +54,11 @@ public function testCreateWithMissedRequiredFields($field, array $expectedErrorD
5454 $ this ->fail ('Expected throwing exception ' );
5555 } catch (\Exception $ e ) {
5656 if (TESTS_WEB_API_ADAPTER == self ::ADAPTER_REST ) {
57- $ errorData = $ this ->processRestExceptionResult ($ e );
58- self ::assertEquals ($ expectedErrorData ['rest_message ' ], $ errorData ['message ' ]);
59- self ::assertEquals ($ expectedErrorData ['parameters ' ], $ errorData ['parameters ' ]);
57+ self ::assertEquals ($ expectedErrorData ['rest ' ], $ this ->processRestExceptionResult ($ e ));
6058 self ::assertEquals (Exception::HTTP_BAD_REQUEST , $ e ->getCode ());
6159 } elseif (TESTS_WEB_API_ADAPTER == self ::ADAPTER_SOAP ) {
6260 $ this ->assertInstanceOf ('SoapFault ' , $ e );
63- $ this ->checkSoapFault (
64- $ e ,
65- $ expectedErrorData ['soap_message ' ],
66- 'Sender '
67- );
61+ $ this ->checkSoapFault ($ e , $ expectedErrorData ['soap ' ]['message ' ], 'Sender ' );
6862 } else {
6963 throw $ e ;
7064 }
@@ -80,20 +74,38 @@ public function dataProviderRequiredFields()
8074 'without_ ' . SourceInterface::NAME => [
8175 SourceInterface::NAME ,
8276 [
83- 'rest_message ' => '"%field" can not be empty. ' ,
84- 'soap_message ' => sprintf ('object has no \'%s \' property ' , SourceInterface::NAME ),
85- 'parameters ' => [
86- 'field ' => SourceInterface::NAME ,
77+ 'rest ' => [
78+ 'message ' => 'Validation Failed ' ,
79+ 'errors ' => [
80+ [
81+ 'message ' => '"%field" can not be empty. ' ,
82+ 'parameters ' => [
83+ 'field ' => SourceInterface::NAME ,
84+ ],
85+ ],
86+ ],
87+ ],
88+ 'soap ' => [
89+ 'message ' => 'object has no \'' . SourceInterface::NAME . '\' property ' ,
8790 ],
8891 ],
8992 ],
9093 'without_ ' . SourceInterface::POSTCODE => [
9194 SourceInterface::POSTCODE ,
9295 [
93- 'rest_message ' => '"%field" can not be empty. ' ,
94- 'soap_message ' => sprintf ('object has no \'%s \' property ' , SourceInterface::POSTCODE ),
95- 'parameters ' => [
96- 'field ' => SourceInterface::POSTCODE ,
96+ 'rest ' => [
97+ 'message ' => 'Validation Failed ' ,
98+ 'errors ' => [
99+ [
100+ 'message ' => '"%field" can not be empty. ' ,
101+ 'parameters ' => [
102+ 'field ' => SourceInterface::POSTCODE ,
103+ ],
104+ ],
105+ ],
106+ ],
107+ 'soap ' => [
108+ 'message ' => 'object has no \'' . SourceInterface::POSTCODE . '\' property ' ,
97109 ],
98110 ],
99111 ],
@@ -160,59 +172,89 @@ public function failedValidationDataProvider()
160172 SourceInterface::NAME ,
161173 null ,
162174 [
163- 'message ' => '"%field" can not be empty. ' ,
164- 'parameters ' => [
165- 'field ' => SourceInterface::NAME ,
175+ 'message ' => 'Validation Failed ' ,
176+ 'errors ' => [
177+ [
178+ 'message ' => '"%field" can not be empty. ' ,
179+ 'parameters ' => [
180+ 'field ' => SourceInterface::NAME ,
181+ ],
182+ ],
166183 ],
167184 ],
168185 ],
169186 'whitespaces_ ' . SourceInterface::NAME => [
170187 SourceInterface::NAME ,
171188 ' ' ,
172189 [
173- 'message ' => '"%field" can not be empty. ' ,
174- 'parameters ' => [
175- 'field ' => SourceInterface::NAME ,
190+ 'message ' => 'Validation Failed ' ,
191+ 'errors ' => [
192+ [
193+ 'message ' => '"%field" can not be empty. ' ,
194+ 'parameters ' => [
195+ 'field ' => SourceInterface::NAME ,
196+ ],
197+ ],
176198 ],
177199 ],
178200 ],
179201 'empty_ ' . SourceInterface::POSTCODE => [
180202 SourceInterface::POSTCODE ,
181203 null ,
182204 [
183- 'message ' => '"%field" can not be empty. ' ,
184- 'parameters ' => [
185- 'field ' => SourceInterface::POSTCODE ,
205+ 'message ' => 'Validation Failed ' ,
206+ 'errors ' => [
207+ [
208+ 'message ' => '"%field" can not be empty. ' ,
209+ 'parameters ' => [
210+ 'field ' => SourceInterface::POSTCODE ,
211+ ],
212+ ],
186213 ],
187214 ],
188215 ],
189216 'whitespaces_ ' . SourceInterface::POSTCODE => [
190217 SourceInterface::POSTCODE ,
191218 ' ' ,
192219 [
193- 'message ' => '"%field" can not be empty. ' ,
194- 'parameters ' => [
195- 'field ' => SourceInterface::POSTCODE ,
220+ 'message ' => 'Validation Failed ' ,
221+ 'errors ' => [
222+ [
223+ 'message ' => '"%field" can not be empty. ' ,
224+ 'parameters ' => [
225+ 'field ' => SourceInterface::POSTCODE ,
226+ ],
227+ ],
196228 ],
197229 ],
198230 ],
199231 'empty_ ' . SourceInterface::COUNTRY_ID => [
200232 SourceInterface::COUNTRY_ID ,
201233 null ,
202234 [
203- 'message ' => '"%field" can not be empty. ' ,
204- 'parameters ' => [
205- 'field ' => SourceInterface::COUNTRY_ID ,
235+ 'message ' => 'Validation Failed ' ,
236+ 'errors ' => [
237+ [
238+ 'message ' => '"%field" can not be empty. ' ,
239+ 'parameters ' => [
240+ 'field ' => SourceInterface::COUNTRY_ID ,
241+ ],
242+ ],
206243 ],
207244 ],
208245 ],
209246 'whitespaces_ ' . SourceInterface::COUNTRY_ID => [
210247 SourceInterface::COUNTRY_ID ,
211248 ' ' ,
212249 [
213- 'message ' => '"%field" can not be empty. ' ,
214- 'parameters ' => [
215- 'field ' => SourceInterface::COUNTRY_ID ,
250+ 'message ' => 'Validation Failed ' ,
251+ 'errors ' => [
252+ [
253+ 'message ' => '"%field" can not be empty. ' ,
254+ 'parameters ' => [
255+ 'field ' => SourceInterface::COUNTRY_ID ,
256+ ],
257+ ],
216258 ],
217259 ],
218260 ],
@@ -232,17 +274,19 @@ private function webApiCall(array $serviceInfo, array $data, array $expectedErro
232274 $ this ->fail ('Expected throwing exception ' );
233275 } catch (\Exception $ e ) {
234276 if (TESTS_WEB_API_ADAPTER == self ::ADAPTER_REST ) {
235- $ errorData = $ this ->processRestExceptionResult ($ e );
236- self ::assertEquals ($ expectedErrorData , $ errorData );
277+ self ::assertEquals ($ expectedErrorData , $ this ->processRestExceptionResult ($ e ));
237278 self ::assertEquals (Exception::HTTP_BAD_REQUEST , $ e ->getCode ());
238279 } elseif (TESTS_WEB_API_ADAPTER == self ::ADAPTER_SOAP ) {
239280 $ this ->assertInstanceOf ('SoapFault ' , $ e );
240- $ this ->checkSoapFault (
241- $ e ,
242- $ expectedErrorData ['message ' ],
243- 'env:Sender ' ,
244- $ expectedErrorData ['parameters ' ]
245- );
281+ $ expectedWrappedErrors = [];
282+ foreach ($ expectedErrorData ['errors ' ] as $ error ) {
283+ // @see \Magento\TestFramework\TestCase\WebapiAbstract::getActualWrappedErrors()
284+ $ expectedWrappedErrors [] = [
285+ 'message ' => $ error ['message ' ],
286+ 'params ' => $ error ['parameters ' ],
287+ ];
288+ }
289+ $ this ->checkSoapFault ($ e , $ expectedErrorData ['message ' ], 'env:Sender ' , [], $ expectedWrappedErrors );
246290 } else {
247291 throw $ e ;
248292 }
0 commit comments