OrderAddressUpdateTest.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Service\V1;
  7. use Magento\Sales\Api\Data\OrderAddressInterface as OrderAddress;
  8. use Magento\TestFramework\TestCase\WebapiAbstract;
  9. /**
  10. * Class OrderAddressUpdateTest
  11. */
  12. class OrderAddressUpdateTest extends WebapiAbstract
  13. {
  14. const SERVICE_VERSION = 'V1';
  15. const SERVICE_NAME = 'salesOrderAddressRepositoryV1';
  16. /**
  17. * @magentoApiDataFixture Magento/Sales/_files/order.php
  18. * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  19. */
  20. public function testOrderAddressUpdate()
  21. {
  22. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  23. /** @var \Magento\Sales\Model\Order $order */
  24. $order = $objectManager->get(\Magento\Sales\Model\Order::class)->loadByIncrementId('100000001');
  25. $address = [
  26. OrderAddress::REGION => 'CA',
  27. OrderAddress::POSTCODE => '11111',
  28. OrderAddress::LASTNAME => 'lastname',
  29. OrderAddress::STREET => ['street'],
  30. OrderAddress::CITY => 'city',
  31. OrderAddress::EMAIL => 'email@email.com',
  32. OrderAddress::COMPANY => 'company',
  33. OrderAddress::TELEPHONE => 't123456789',
  34. OrderAddress::COUNTRY_ID => 'US',
  35. OrderAddress::FIRSTNAME => 'firstname',
  36. OrderAddress::ADDRESS_TYPE => 'billing',
  37. OrderAddress::PARENT_ID => $order->getId(),
  38. OrderAddress::ENTITY_ID => $order->getBillingAddressId(),
  39. OrderAddress::CUSTOMER_ADDRESS_ID => null,
  40. OrderAddress::CUSTOMER_ID => null,
  41. OrderAddress::FAX => null,
  42. OrderAddress::MIDDLENAME => null,
  43. OrderAddress::PREFIX => null,
  44. OrderAddress::REGION_ID => null,
  45. OrderAddress::SUFFIX => null,
  46. OrderAddress::VAT_ID => null,
  47. OrderAddress::VAT_IS_VALID => null,
  48. OrderAddress::VAT_REQUEST_DATE => null,
  49. OrderAddress::VAT_REQUEST_ID => null,
  50. OrderAddress::VAT_REQUEST_SUCCESS => null,
  51. ];
  52. $requestData = ['entity' => $address];
  53. $serviceInfo = [
  54. 'rest' => [
  55. 'resourcePath' => '/V1/orders/' . $order->getId(),
  56. 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_PUT,
  57. ],
  58. 'soap' => [
  59. 'service' => self::SERVICE_NAME,
  60. 'serviceVersion' => self::SERVICE_VERSION,
  61. 'operation' => self::SERVICE_NAME . 'save',
  62. ],
  63. ];
  64. $result = $this->_webApiCall($serviceInfo, $requestData);
  65. $this->assertGreaterThan(1, count($result));
  66. /** @var \Magento\Sales\Model\Order $actualOrder */
  67. $actualOrder = $objectManager->get(\Magento\Sales\Model\Order::class)->load($order->getId());
  68. $billingAddress = $actualOrder->getBillingAddress();
  69. $validate = [
  70. OrderAddress::REGION => 'CA',
  71. OrderAddress::POSTCODE => '11111',
  72. OrderAddress::LASTNAME => 'lastname',
  73. OrderAddress::STREET => 'street',
  74. OrderAddress::CITY => 'city',
  75. OrderAddress::EMAIL => 'email@email.com',
  76. OrderAddress::COMPANY => 'company',
  77. OrderAddress::TELEPHONE => 't123456789',
  78. OrderAddress::COUNTRY_ID => 'US',
  79. OrderAddress::FIRSTNAME => 'firstname',
  80. OrderAddress::ADDRESS_TYPE => 'billing',
  81. OrderAddress::PARENT_ID => $order->getId(),
  82. OrderAddress::ENTITY_ID => $order->getBillingAddressId(),
  83. ];
  84. foreach ($validate as $key => $field) {
  85. $this->assertEquals($validate[$key], $billingAddress->getData($key));
  86. }
  87. }
  88. }