Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SalesOrderPaymentDataConverterTest.php
Go to the documentation of this file.
1 <?php
7 
12 
13 class SalesOrderPaymentDataConverterTest extends \PHPUnit\Framework\TestCase
14 {
18  private $serializeMock;
19 
23  private $jsonMock;
24 
28  private $salesOrderPaymentDataConverter;
29 
30  protected function setUp()
31  {
32  $objectManager = new ObjectManager($this);
33  $this->serializeMock = $this->createMock(Serialize::class);
34  $this->jsonMock = $this->createMock(Json::class);
35  $this->salesOrderPaymentDataConverter = $objectManager->getObject(
36  SalesOrderPaymentDataConverter::class,
37  [
38  'serialize' => $this->serializeMock,
39  'json' => $this->jsonMock
40  ]
41  );
42  }
43 
44  public function testConvert()
45  {
46  $serializedData = 'serialized data';
47  $unserializedData = [
48  'token_metadata' => [
49  'customer_id' => 1,
50  'public_hash' => 'someHash'
51  ]
52  ];
53  $convertedUnserializedData = [
54  'customer_id' => 1,
55  'public_hash' => 'someHash'
56  ];
57  $jsonEncodedData = 'json encoded data';
58 
59  $this->serializeMock->expects($this->once())
60  ->method('unserialize')
61  ->with($serializedData)
62  ->willReturn($unserializedData);
63  $this->jsonMock->expects($this->once())
64  ->method('serialize')
65  ->with($convertedUnserializedData)
66  ->willReturn($jsonEncodedData);
67 
68  $this->assertEquals($jsonEncodedData, $this->salesOrderPaymentDataConverter->convert($serializedData));
69  }
70 }
$objectManager
Definition: bootstrap.php:17