SalesOrderPaymentDataConverterTest.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Setup;
  7. use Magento\Framework\Serialize\Serializer\Json;
  8. use Magento\Framework\Serialize\Serializer\Serialize;
  9. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  10. use Magento\Sales\Setup\SalesOrderPaymentDataConverter;
  11. class SalesOrderPaymentDataConverterTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var Serialize|\PHPUnit_Framework_MockObject_MockObject
  15. */
  16. private $serializeMock;
  17. /**
  18. * @var Json|\PHPUnit_Framework_MockObject_MockObject
  19. */
  20. private $jsonMock;
  21. /**
  22. * @var SalesOrderPaymentDataConverter
  23. */
  24. private $salesOrderPaymentDataConverter;
  25. protected function setUp()
  26. {
  27. $objectManager = new ObjectManager($this);
  28. $this->serializeMock = $this->createMock(Serialize::class);
  29. $this->jsonMock = $this->createMock(Json::class);
  30. $this->salesOrderPaymentDataConverter = $objectManager->getObject(
  31. SalesOrderPaymentDataConverter::class,
  32. [
  33. 'serialize' => $this->serializeMock,
  34. 'json' => $this->jsonMock
  35. ]
  36. );
  37. }
  38. public function testConvert()
  39. {
  40. $serializedData = 'serialized data';
  41. $unserializedData = [
  42. 'token_metadata' => [
  43. 'customer_id' => 1,
  44. 'public_hash' => 'someHash'
  45. ]
  46. ];
  47. $convertedUnserializedData = [
  48. 'customer_id' => 1,
  49. 'public_hash' => 'someHash'
  50. ];
  51. $jsonEncodedData = 'json encoded data';
  52. $this->serializeMock->expects($this->once())
  53. ->method('unserialize')
  54. ->with($serializedData)
  55. ->willReturn($unserializedData);
  56. $this->jsonMock->expects($this->once())
  57. ->method('serialize')
  58. ->with($convertedUnserializedData)
  59. ->willReturn($jsonEncodedData);
  60. $this->assertEquals($jsonEncodedData, $this->salesOrderPaymentDataConverter->convert($serializedData));
  61. }
  62. }