_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Catalog\Model\Design::class ); } /** * @dataProvider getThemeModel */ public function testApplyCustomDesign($theme) { $this->_model->applyCustomDesign($theme); $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\View\DesignInterface::class ); $translate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\TranslateInterface::class ); $this->assertEquals('package', $design->getDesignTheme()->getPackageCode()); $this->assertEquals('theme', $design->getDesignTheme()->getThemeCode()); $this->assertEquals('themepackage/theme', $translate->getTheme()); } /** * @return \Magento\Theme\Model\Theme */ public function getThemeModel() { $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Framework\View\Design\ThemeInterface::class ); $theme->setData($this->_getThemeData()); return [[$theme]]; } /** * @return array */ protected function _getThemeData() { return [ 'theme_title' => 'Magento Theme', 'theme_code' => 'theme', 'package_code' => 'package', 'theme_path' => 'package/theme', 'parent_theme' => null, 'is_featured' => true, 'preview_image' => '', 'theme_directory' => __DIR__ . '_files/design/frontend/default/default' ]; } }