_resourceModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Widget\Model\ResourceModel\Layout\Update::class ); } /** * @magentoDataFixture Magento/Widget/_files/layout_update.php */ public function testFetchUpdatesByHandle() { /** @var $theme \Magento\Framework\View\Design\ThemeInterface */ $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Framework\View\Design\ThemeInterface::class ); $theme->load('Test Theme', 'theme_title'); $result = $this->_resourceModel->fetchUpdatesByHandle( 'test_handle', $theme, \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Store\Model\StoreManagerInterface::class )->getStore() ); $this->assertEquals('not_temporary', $result); } /** * @magentoDataFixture Magento/Backend/controllers/_files/cache/application_cache.php * @magentoDataFixture Magento/Widget/_files/layout_cache.php */ public function testSaveAfterClearCache() { /** @var $appCache \Magento\Framework\App\Cache */ $appCache = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\App\Cache::class ); /** @var \Magento\Framework\App\Cache\Type\Layout $layoutCache */ $layoutCache = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\App\Cache\Type\Layout::class ); $this->assertNotEmpty($appCache->load('APPLICATION_FIXTURE')); $this->assertNotEmpty($layoutCache->load('LAYOUT_CACHE_FIXTURE')); /** @var $layoutUpdate \Magento\Widget\Model\Layout\Update */ $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Widget\Model\Layout\Update::class ); $layoutUpdate->setHasDataChanges(true); $this->_resourceModel->save($layoutUpdate); $this->assertNotEmpty($appCache->load('APPLICATION_FIXTURE'), 'Non-layout cache must be kept'); $this->assertFalse($layoutCache->load('LAYOUT_CACHE_FIXTURE'), 'Layout cache must be erased'); } }