def test_import_news_page(self): """Import a news page. """ importer = self.assertImportFile( "test_import_news_page.silvaxml", ['/root/news/index', '/root/news/newspage', '/root/news/filter', '/root/news']) self.assertEqual(importer.getProblems(), []) base = self.root._getOb('news') news_page = base._getOb('newspage') self.assertTrue(verifyObject(INewsPage, news_page)) version = news_page.get_editable() self.assertTrue(verifyObject(INewsPageVersion, version)) self.assertIsNot(version.get_design(), None) manager = IBlockManager(version) slot = manager.get_slot('one') _, block = slot[0] self.assertIsInstance(block, NewsInfoBlock)
def test_export_page_with_page_model(self): """Export a page with a page model at the same time. """ with Transaction(): factory = self.root.base.manage_addProduct['silva.core.contentlayout'] factory.manage_addPageModel('model', 'A Page Model') model = self.root.base.model model_version = model.get_editable() model_version.set_design(registry.lookup_design_by_name('adesign')) IPublicationWorkflow(model).publish() text_block = TextBlock(identifier='text block 1') controller = getWrapper( (text_block, model_version, TestRequest()), IBlockController) controller.text = "<div>text</div>" manager = IBlockManager(model_version) manager.add('two', text_block) manager.add('two', BlockSlot(identifier='slot-for-two')) manager.add('one', BlockSlot( identifier='slot-for-one', tag='div', css_class='the-only-one')) page_version = self.root.base.page.get_editable() page_version.set_design(model_version) self.assertEquals(model_version, page_version.get_design()) exporter = self.assertExportEqual( self.root.base, 'test_export_page_with_page_model.silvaxml') self.assertEqual(exporter.getZexpPaths(), []) self.assertEqual(exporter.getAssetPaths(), []) self.assertEqual(exporter.getProblems(), [])