Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DataTest.php
Go to the documentation of this file.
1 <?php
8 
10 
11 class DataTest extends \PHPUnit\Framework\TestCase
12 {
16  protected $xmlReaderMock;
17 
21  protected $envReaderMock;
22 
27 
31  protected $cacheMock;
32 
36  private $serializerMock;
37 
38  protected function setUp()
39  {
40  $this->xmlReaderMock = $this->getMockBuilder(\Magento\Framework\MessageQueue\Config\Reader\Xml::class)
41  ->disableOriginalConstructor()
42  ->getMock();
43  $this->envReaderMock = $this->getMockBuilder(\Magento\Framework\MessageQueue\Config\Reader\Env::class)
44  ->disableOriginalConstructor()
45  ->getMock();
46  $this->remoteServiceReaderMock = $this
47  ->getMockBuilder(
48  \Magento\Framework\MessageQueue\Code\Generator\Config\RemoteServiceReader\MessageQueue::class
49  )->disableOriginalConstructor()
50  ->getMock();
51  $this->cacheMock = $this->getMockBuilder(\Magento\Framework\Config\CacheInterface::class)
52  ->disableOriginalConstructor()
53  ->getMock();
54  $this->serializerMock = $this->createMock(\Magento\Framework\Serialize\SerializerInterface::class);
55  }
56 
57  public function testGet()
58  {
59  $expected = ['someData' => ['someValue', 'someKey' => 'someValue']];
60  $this->cacheMock->expects($this->any())
61  ->method('load')
62  ->willReturn(json_encode($expected));
63 
64  $this->serializerMock->expects($this->once())
65  ->method('unserialize')
66  ->willReturn($expected);
67 
68  $this->envReaderMock->expects($this->any())->method('read')->willReturn([]);
69  $this->remoteServiceReaderMock->expects($this->any())->method('read')->willReturn([]);
70  $this->assertEquals($expected, $this->getModel()->get());
71  }
72 
78  private function getModel()
79  {
80  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
81  return $objectManager->getObject(
82  \Magento\Framework\MessageQueue\Config\Data::class,
83  [
84  'xmlReader' => $this->xmlReaderMock,
85  'cache' => $this->cacheMock,
86  'envReader' => $this->envReaderMock,
87  'remoteServiceReader' => $this->remoteServiceReaderMock,
88  'serializer' => $this->serializerMock,
89  ]
90  );
91  }
92 }
$objectManager
Definition: bootstrap.php:17