b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / dev / tests / integration / testsuite / Magento / Theme / Model /
Filename/home/dev2.destoffenstraat.com/dev/tests/integration/testsuite/Magento/Theme/Model/ThemeTest.php
Size3.19 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified28-Jan-2025 06:45
Last accessed23-Aug-2025 02:07
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Theme\Model;

class ThemeTest extends \PHPUnit\Framework\TestCase
{
/**
* Test crud operations for theme model using valid data
*
* @magentoDbIsolation enabled
*/
public function testCrud()
{
/** @var $themeModel \Magento\Framework\View\Design\ThemeInterface */
$themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Framework\View\Design\ThemeInterface::class
);
$themeModel->setData($this->_getThemeValidData());

$crud = new \Magento\TestFramework\Entity($themeModel, []);
$crud->testCrud();
}

/**
* Get theme valid data
*
* @return array
*/
protected function _getThemeValidData()
{
return [
'area' => 'space_area',
'theme_title' => 'Space theme',
'parent_id' => null,
'is_featured' => false,
'theme_path' => 'default/space',
'preview_image' => 'images/preview.png',
'type' => \Magento\Framework\View\Design\ThemeInterface::TYPE_VIRTUAL
];
}

/**
* Test theme on child relations
*/
public function testChildRelation()
{
/** @var $theme \Magento\Framework\View\Design\ThemeInterface */
$theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Framework\View\Design\ThemeInterface::class
);
$collection = $theme->getCollection()
->addTypeFilter(\Magento\Framework\View\Design\ThemeInterface::TYPE_VIRTUAL);
/** @var $currentTheme \Magento\Framework\View\Design\ThemeInterface */
foreach ($collection as $currentTheme) {
$parentTheme = $currentTheme->getParentTheme();
if (!empty($parentTheme)) {
$this->assertTrue($parentTheme->hasChildThemes());
}
}
}

/**
* @magentoComponentsDir Magento/Theme/Model/_files/design
* @magentoAppIsolation enabled
* @magentoDbIsolation enabled
* @magentoAppArea frontend
*/
public function testGetInheritedThemes()
{
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
/** @var \Magento\Theme\Model\Theme\Registration $registration */
$registration = $objectManager->get(
\Magento\Theme\Model\Theme\Registration::class
);
$registration->register();
/** @var \Magento\Framework\View\Design\Theme\FlyweightFactory $themeFactory */
$themeFactory = $objectManager->get(
\Magento\Framework\View\Design\Theme\FlyweightFactory::class
);
$theme = $themeFactory->create('Vendor_FrameworkThemeTest/custom_theme');
$this->assertCount(2, $theme->getInheritedThemes());
$expected = [];
foreach ($theme->getInheritedThemes() as $someTheme) {
$expected[] = $someTheme->getFullPath();
}
$this->assertEquals(
['frontend/Vendor_FrameworkThemeTest/default', 'frontend/Vendor_FrameworkThemeTest/custom_theme'],
$expected
);
}
}