InvoiceAddCommentTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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\InvoiceCommentInterface;
  8. use Magento\TestFramework\TestCase\WebapiAbstract;
  9. /**
  10. * Class InvoiceAddCommentTest
  11. */
  12. class InvoiceAddCommentTest extends WebapiAbstract
  13. {
  14. /**
  15. * Service read name
  16. */
  17. const SERVICE_READ_NAME = 'salesInvoiceCommentRepositoryV1';
  18. /**
  19. * Service version
  20. */
  21. const SERVICE_VERSION = 'V1';
  22. /**
  23. * Test invoice add comment service
  24. *
  25. * @magentoApiDataFixture Magento/Sales/_files/invoice.php
  26. */
  27. public function testInvoiceAddComment()
  28. {
  29. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  30. /** @var \Magento\Sales\Model\Order\Invoice $invoice */
  31. $invoiceCollection = $objectManager->get(\Magento\Sales\Model\ResourceModel\Order\Invoice\Collection::class);
  32. $invoice = $invoiceCollection->getFirstItem();
  33. $commentData = [
  34. InvoiceCommentInterface::COMMENT => 'Hello world!',
  35. InvoiceCommentInterface::ENTITY_ID => null,
  36. InvoiceCommentInterface::CREATED_AT => null,
  37. InvoiceCommentInterface::PARENT_ID => $invoice->getId(),
  38. InvoiceCommentInterface::IS_VISIBLE_ON_FRONT => 1,
  39. InvoiceCommentInterface::IS_CUSTOMER_NOTIFIED => 1,
  40. ];
  41. $requestData = ['entity' => $commentData];
  42. $serviceInfo = [
  43. 'rest' => [
  44. 'resourcePath' => '/V1/invoices/comments',
  45. 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST,
  46. ],
  47. 'soap' => [
  48. 'service' => self::SERVICE_READ_NAME,
  49. 'serviceVersion' => self::SERVICE_VERSION,
  50. 'operation' => self::SERVICE_READ_NAME . 'save',
  51. ],
  52. ];
  53. $result = $this->_webApiCall($serviceInfo, $requestData);
  54. $this->assertNotEmpty($result);
  55. }
  56. }