ConfigTest.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Theme\Test\Unit\Model\Layout;
  7. use Magento\Framework\DataObject;
  8. use Magento\Theme\Model\Layout\Config;
  9. class ConfigTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var Config
  13. */
  14. protected $_model;
  15. /**
  16. * @var \Magento\Framework\Config\DataInterface|\PHPUnit_Framework_MockObject_MockObject
  17. */
  18. protected $dataStorage;
  19. protected function setUp()
  20. {
  21. $this->dataStorage = $this->getMockBuilder(\Magento\Framework\Config\DataInterface::class)
  22. ->disableOriginalConstructor()
  23. ->getMock();
  24. $this->_model = new Config($this->dataStorage);
  25. }
  26. /**
  27. * @test
  28. * @return void
  29. * @covers \Magento\Theme\Model\Layout\Config::getPageLayouts
  30. * @covers \Magento\Theme\Model\Layout\Config::getPageLayout
  31. * @covers \Magento\Theme\Model\Layout\Config::getPageLayoutHandles
  32. * @covers \Magento\Theme\Model\Layout\Config::_initPageLayouts
  33. * @covers \Magento\Theme\Model\Layout\Config::__construct
  34. */
  35. public function testGetPageLayout()
  36. {
  37. $data = ['code' => ['label' => 'Test Label', 'code' => 'testCode']];
  38. $expectedResult = [
  39. 'code' => new DataObject(['label' => __('Test Label'), 'code' => 'testCode']),
  40. ];
  41. $this->dataStorage->expects($this->once())
  42. ->method('get')
  43. ->with(null, null)
  44. ->willReturn($data);
  45. $this->assertEquals($expectedResult, $this->_model->getPageLayouts());
  46. $this->assertEquals($expectedResult['code'], $this->_model->getPageLayout('code'));
  47. $this->assertFalse($this->_model->getPageLayout('wrong_code'));
  48. $this->assertEquals(
  49. [$expectedResult['code']['code'] => $expectedResult['code']['code']],
  50. $this->_model->getPageLayoutHandles()
  51. );
  52. }
  53. }