CreditmemoCreateTest.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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\TestFramework\TestCase\WebapiAbstract;
  8. /**
  9. * Class CreditmemoCreateTest
  10. */
  11. class CreditmemoCreateTest extends WebapiAbstract
  12. {
  13. const RESOURCE_PATH = '/V1/creditmemo';
  14. const SERVICE_READ_NAME = 'salesCreditmemoRepositoryV1';
  15. const SERVICE_VERSION = 'V1';
  16. /**
  17. * @var \Magento\Framework\ObjectManagerInterface
  18. */
  19. protected $objectManager;
  20. protected function setUp()
  21. {
  22. $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  23. }
  24. /**
  25. * @magentoApiDataFixture Magento/Sales/_files/invoice.php
  26. */
  27. public function testInvoke()
  28. {
  29. /** @var \Magento\Sales\Model\Order $order */
  30. $orderCollection = $this->objectManager->get(\Magento\Sales\Model\ResourceModel\Order\Collection::class);
  31. $order = $orderCollection->getFirstItem();
  32. /** @var \Magento\Sales\Model\Order\Item $orderItem */
  33. $orderItem = current($order->getAllItems());
  34. $items = [
  35. $orderItem->getId() => ['order_item_id' => $orderItem->getId(), 'qty' => $orderItem->getQtyInvoiced()],
  36. ];
  37. $serviceInfo = [
  38. 'rest' => [
  39. 'resourcePath' => self::RESOURCE_PATH,
  40. 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST,
  41. ],
  42. 'soap' => [
  43. 'service' => self::SERVICE_READ_NAME,
  44. 'serviceVersion' => self::SERVICE_VERSION,
  45. 'operation' => self::SERVICE_READ_NAME . 'save',
  46. ],
  47. ];
  48. $data = [
  49. 'adjustment' => null,
  50. 'adjustment_negative' => null,
  51. 'adjustment_positive' => null,
  52. 'base_adjustment' => null,
  53. 'base_adjustment_negative' => null,
  54. 'base_adjustment_positive' => null,
  55. 'base_currency_code' => null,
  56. 'base_discount_amount' => null,
  57. 'base_grand_total' => null,
  58. 'base_discount_tax_compensation_amount' => null,
  59. 'base_shipping_amount' => null,
  60. 'base_shipping_discount_tax_compensation_amnt' => null,
  61. 'base_shipping_incl_tax' => null,
  62. 'base_shipping_tax_amount' => null,
  63. 'base_subtotal' => null,
  64. 'base_subtotal_incl_tax' => null,
  65. 'base_tax_amount' => null,
  66. 'base_to_global_rate' => null,
  67. 'base_to_order_rate' => null,
  68. 'billing_address_id' => null,
  69. 'created_at' => null,
  70. 'creditmemo_status' => null,
  71. 'discount_amount' => null,
  72. 'discount_description' => null,
  73. 'email_sent' => null,
  74. 'entity_id' => null,
  75. 'global_currency_code' => null,
  76. 'grand_total' => null,
  77. 'discount_tax_compensation_amount' => null,
  78. 'increment_id' => null,
  79. 'invoice_id' => null,
  80. 'order_currency_code' => null,
  81. 'order_id' => $order->getId(),
  82. 'shipping_address_id' => null,
  83. 'shipping_amount' => null,
  84. 'shipping_discount_tax_compensation_amount' => null,
  85. 'shipping_incl_tax' => null,
  86. 'shipping_tax_amount' => null,
  87. 'state' => null,
  88. 'store_currency_code' => null,
  89. 'store_id' => null,
  90. 'store_to_base_rate' => null,
  91. 'store_to_order_rate' => null,
  92. 'subtotal' => null,
  93. 'subtotal_incl_tax' => null,
  94. 'tax_amount' => null,
  95. 'transaction_id' => null,
  96. 'updated_at' => null,
  97. 'items' => $items,
  98. ];
  99. $result = $this->_webApiCall($serviceInfo, ['entity' => $data]);
  100. $this->assertNotEmpty($result);
  101. }
  102. }