Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
InitialSnapshotConfigSourceTest.php
Go to the documentation of this file.
1 <?php
7 
10 use Magento\Framework\DataObjectFactory;
12 use PHPUnit_Framework_MockObject_MockObject as Mock;
13 
17 class InitialSnapshotConfigSourceTest extends \PHPUnit\Framework\TestCase
18 {
22  private $model;
23 
27  private $flagManagerMock;
28 
32  private $dataObjectFactoryMock;
33 
37  private $dataObjectMock;
38 
42  protected function setUp()
43  {
44  $this->flagManagerMock = $this->getMockBuilder(FlagManager::class)
45  ->disableOriginalConstructor()
46  ->getMock();
47  $this->dataObjectFactoryMock = $this->getMockBuilder(DataObjectFactory::class)
48  ->setMethods(['create'])
49  ->disableOriginalConstructor()
50  ->getMock();
51  $this->dataObjectMock = $this->getMockBuilder(DataObject::class)
52  ->disableOriginalConstructor()
53  ->getMock();
54 
55  $this->dataObjectFactoryMock->expects($this->any())
56  ->method('create')
57  ->willReturn($this->dataObjectMock);
58 
59  $this->model = new InitialSnapshotConfigSource(
60  $this->flagManagerMock,
61  $this->dataObjectFactoryMock
62  );
63  }
64 
65  public function testGet()
66  {
67  $this->flagManagerMock->expects($this->exactly(2))
68  ->method('getFlagData')
69  ->with('system_config_snapshot')
70  ->willReturnOnConsecutiveCalls(
71  ['some' => 'data'],
72  'data'
73  );
74  $this->dataObjectMock->expects($this->exactly(2))
75  ->method('getData')
76  ->willReturnOnConsecutiveCalls(
77  ['some' => 'data'],
78  'data'
79  );
80 
81  $this->assertSame(['some' => 'data'], $this->model->get());
82  $this->assertSame('data', $this->model->get('some/path'));
83  }
84 }