CreditmemoAddCommentTest.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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\CreditmemoCommentInterface as Comment;
  8. use Magento\TestFramework\TestCase\WebapiAbstract;
  9. /**
  10. * Class CreditmemoAddCommentTest
  11. */
  12. class CreditmemoAddCommentTest extends WebapiAbstract
  13. {
  14. /**
  15. * Service read name
  16. */
  17. const SERVICE_READ_NAME = 'salesCreditmemoCommentRepositoryV1';
  18. /**
  19. * Service version
  20. */
  21. const SERVICE_VERSION = 'V1';
  22. /**
  23. * Creditmemo increment id
  24. */
  25. const CREDITMEMO_INCREMENT_ID = '100000001';
  26. /**
  27. * @var \Magento\Framework\ObjectManagerInterface
  28. */
  29. protected $objectManager;
  30. /**
  31. * Set up
  32. *
  33. * @return void
  34. */
  35. protected function setUp()
  36. {
  37. $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  38. }
  39. /**
  40. * Test creditmemo add comment service
  41. *
  42. * @magentoApiDataFixture Magento/Sales/_files/creditmemo_with_list.php
  43. */
  44. public function testCreditmemoAddComment()
  45. {
  46. /** @var \Magento\Sales\Model\ResourceModel\Order\Creditmemo\Collection $creditmemoCollection */
  47. $creditmemoCollection =
  48. $this->objectManager->get(\Magento\Sales\Model\ResourceModel\Order\Creditmemo\Collection::class);
  49. $creditmemo = $creditmemoCollection->getFirstItem();
  50. $commentData = [
  51. Comment::COMMENT => 'Hello world!',
  52. Comment::ENTITY_ID => null,
  53. Comment::CREATED_AT => null,
  54. Comment::PARENT_ID => $creditmemo->getId(),
  55. Comment::IS_VISIBLE_ON_FRONT => 1,
  56. Comment::IS_CUSTOMER_NOTIFIED => 1,
  57. ];
  58. $requestData = ['entity' => $commentData];
  59. $serviceInfo = [
  60. 'rest' => [
  61. 'resourcePath' => '/V1/creditmemo/' . $creditmemo->getId() . '/comments',
  62. 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST,
  63. ],
  64. 'soap' => [
  65. 'service' => self::SERVICE_READ_NAME,
  66. 'serviceVersion' => self::SERVICE_VERSION,
  67. 'operation' => self::SERVICE_READ_NAME . 'save',
  68. ],
  69. ];
  70. $result = $this->_webApiCall($serviceInfo, $requestData);
  71. self::assertNotEmpty($result);
  72. self::assertNotEmpty($result[Comment::ENTITY_ID]);
  73. self::assertEquals($creditmemo->getId(), $result[Comment::PARENT_ID]);
  74. }
  75. }