ConfigTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * \Magento\Theme\Model\Layout\Config
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\Theme\Model\Layout;
  9. class ConfigTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var \Magento\Theme\Model\Layout\Config
  13. */
  14. protected $_model;
  15. public function setUp()
  16. {
  17. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  18. /** @var $cache \Magento\Framework\App\Cache */
  19. $cache = $objectManager->create(\Magento\Framework\App\Cache::class);
  20. $cache->clean();
  21. $configFile = file_get_contents(__DIR__ . '/_files/page_layouts.xml');
  22. $fileResolverMock = $this->getMockBuilder(\Magento\Framework\Config\FileResolverInterface::class)
  23. ->disableOriginalConstructor()
  24. ->getMock();
  25. $fileResolverMock->expects($this->any())
  26. ->method('get')
  27. ->will($this->returnValue([$configFile]));
  28. $reader = $objectManager->create(
  29. \Magento\Theme\Model\Layout\Config\Reader::class,
  30. ['fileResolver' => $fileResolverMock]
  31. );
  32. $dataStorage = $objectManager->create(\Magento\Theme\Model\Layout\Config\Data::class, ['reader' => $reader]);
  33. $this->_model = $objectManager->create(
  34. \Magento\Theme\Model\Layout\Config::class,
  35. ['dataStorage' => $dataStorage]
  36. );
  37. }
  38. public function testGetPageLayouts()
  39. {
  40. $empty = [
  41. 'label' => 'Empty',
  42. 'code' => 'empty',
  43. ];
  44. $oneColumn = [
  45. 'label' => '1 column',
  46. 'code' => '1column',
  47. ];
  48. $result = $this->_model->getPageLayouts();
  49. $this->assertEquals($empty, $result['empty']->getData());
  50. $this->assertEquals($oneColumn, $result['1column']->getData());
  51. }
  52. public function testGetPageLayout()
  53. {
  54. $empty = [
  55. 'label' => 'Empty',
  56. 'code' => 'empty',
  57. ];
  58. $this->assertEquals($empty, $this->_model->getPageLayout('empty')->getData());
  59. $this->assertFalse($this->_model->getPageLayout('unknownLayoutCode'));
  60. }
  61. public function testGetPageLayoutHandles()
  62. {
  63. $expected = ['empty' => 'empty', '1column' => '1column'];
  64. $this->assertEquals($expected, $this->_model->getPageLayoutHandles());
  65. }
  66. }