public function testSetThemeId() { \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Framework\\App\\State')->setAreaCode('frontend'); $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Framework\\View\\DesignInterface')->setDefaultDesignTheme()->getDesignTheme(); $this->_model->setThemeId($theme->getId()); $this->assertEquals($theme->getId(), $this->_model->getThemeId()); }
/** * Prepare and save layout updates data * * @param \Magento\Widget\Model\Widget\Instance $widgetInstance * @param array $pageGroupData * @return string[] of inserted layout updates ids */ protected function _saveLayoutUpdates($widgetInstance, $pageGroupData) { $connection = $this->getConnection(); $pageLayoutUpdateIds = []; $storeIds = $this->_prepareStoreIds($widgetInstance->getStoreIds()); $layoutUpdateTable = $this->getTable('layout_update'); $layoutUpdateLinkTable = $this->getTable('layout_link'); foreach ($pageGroupData['layout_handle_updates'] as $handle) { $xml = $widgetInstance->generateLayoutUpdateXml($pageGroupData['block_reference'], $pageGroupData['template']); $insert = ['handle' => $handle, 'xml' => $xml]; if (strlen($widgetInstance->getSortOrder())) { $insert['sort_order'] = $widgetInstance->getSortOrder(); } $connection->insert($layoutUpdateTable, $insert); $layoutUpdateId = $connection->lastInsertId($layoutUpdateTable); $pageLayoutUpdateIds[] = $layoutUpdateId; $data = []; foreach ($storeIds as $storeId) { $data[] = ['store_id' => $storeId, 'theme_id' => $widgetInstance->getThemeId(), 'layout_update_id' => $layoutUpdateId]; } $connection->insertMultiple($layoutUpdateLinkTable, $data); } return $pageLayoutUpdateIds; }