def test_main(self): """ Add, Find, Edit and Delete Naaya News """ # add Naaya News addNyNews(self._portal().info, title="news1", lang="en") addNyNews(self._portal().info, title="news1_fr", lang="fr") meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya News"]) # Get added NyNews for x in meta: if x.getLocalProperty("title", "en") == "news1": meta = x if x.getLocalProperty("title", "fr") == "news1_fr": meta_fr = x self.assertEqual(meta.getLocalProperty("title", "en"), "news1") self.assertEqual(meta_fr.getLocalProperty("title", "fr"), "news1_fr") # Change NyNews title meta.saveProperties(title="news1_edited", lang="en") meta_fr.saveProperties(title="news1_fr_edited", lang="fr") self.assertEqual(meta.getLocalProperty("title", "en"), "news1_edited") self.assertEqual(meta_fr.getLocalProperty("title", "fr"), "news1_fr_edited") # delete NyNews self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya News"]) self.assertEqual(meta, [])
def test_main(self): """ Add, Find, Edit and Delete Naaya News """ #add Naaya News addNyNews(self._portal().info, title='news1', lang='en') addNyNews(self._portal().info, title='news1_fr', lang='fr') meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya News']) #Get added NyNews for x in meta: if x.getLocalProperty('title', 'en') == 'news1': meta = x if x.getLocalProperty('title', 'fr') == 'news1_fr': meta_fr = x self.assertEqual(meta.getLocalProperty('title', 'en'), 'news1') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'news1_fr') #Change NyNews title meta.saveProperties(title='news1_edited', lang='en') meta_fr.saveProperties(title='news1_fr_edited', lang='fr') self.assertEqual(meta.getLocalProperty('title', 'en'), 'news1_edited') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'news1_fr_edited') #delete NyNews self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya News']) self.assertEqual(meta, [])
def afterSetUp(self): permission_add_role(self.portal, 'Naaya - Skip Captcha', 'contributor') addNyNews(self.portal.info, submitted=1, title=news_data['news_title'], contributor='contributor') transaction.commit() self.login_user('admin', '') self.selenium_add_language('fr')
def test_export_news(self): addNyNews(self.test_folder, id='interesting_news', title='Great news') export_value = self.test_folder.zip_export.do_export() self.assertFalse(isinstance(export_value, list), ('Errors are raised: ', export_value)) zip = ZipFile(export_value, 'r') self.assertEqual( sorted(zip.namelist()), sorted(['index.txt', 'zip_export_folder/Great news.html'])) exported_news_content = zip.read('zip_export_folder/Great news.html') obj = self.test_folder['interesting_news'] schema = self.portal.getSchemaTool().getSchemaForMetatype('Naaya News') obj_data = [] obj_data.append('<html><body>') obj_data.append('<h1>%s</h1>' % obj.title_or_id()) for widget in schema.listWidgets(): if widget.prop_name() in ['sortorder', 'topitem', 'title']: continue if not widget.visible: continue obj_widget_value = getattr(obj, widget.prop_name(), '') widget_data = widget._convert_to_form_string(obj_widget_value) if not widget_data: continue obj_data.append('<h2>%s</h2><p><div>%s</div></p>' % (widget.title, widget_data)) obj_data.append('</body></html>') self.assertEqual('\n'.join(obj_data), exported_news_content)
def test_export_news(self): addNyNews(self.test_folder, id="interesting_news", title="Great news") export_value = self.test_folder.zip_export.do_export() self.assertFalse(isinstance(export_value, list), ("Errors are raised: ", export_value)) zip = ZipFile(export_value, "r") self.assertEqual(sorted(zip.namelist()), sorted(["index.txt", "zip_export_folder/Great news.html"])) exported_news_content = zip.read("zip_export_folder/Great news.html") obj = self.test_folder["interesting_news"] schema = self.portal.getSchemaTool().getSchemaForMetatype("Naaya News") obj_data = [] obj_data.append("<html><body>") obj_data.append("<h1>%s</h1>" % obj.title_or_id()) for widget in schema.listWidgets(): if widget.prop_name() in ["sortorder", "topitem", "title"]: continue if not widget.visible: continue obj_widget_value = getattr(obj, widget.prop_name(), "") widget_data = widget._convert_to_form_string(obj_widget_value) if not widget_data: continue obj_data.append("<h2>%s</h2><p><div>%s</div></p>" % (widget.title, widget_data)) obj_data.append("</body></html>") self.assertEqual("\n".join(obj_data), exported_news_content)
def test_main(self): """ Add, Find, Edit and Delete Naaya News """ #add Naaya News addNyNews(self._portal().info, title='news1', lang='en') addNyNews(self._portal().info, title='news1_fr', lang='fr') meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya News']) #Get added NyNews for x in meta: if x.getLocalProperty('title', 'en') == 'news1': meta = x if x.getLocalProperty('title', 'fr') == 'news1_fr': meta_fr = x self.assertEqual(meta.getLocalProperty('title', 'en'), 'news1') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'news1_fr') #Change NyNews title meta.saveProperties(title='news1_edited', lang='en') meta_fr.saveProperties(title='news1_fr_edited', lang='fr') self.assertEqual(meta.getLocalProperty('title', 'en'), 'news1_edited') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'news1_fr_edited') #delete NyNews self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya News']) self.assertEqual(meta, [])
def selenium_initialize_local(self, news_data, news_data_2): """Initializing...""" self.login_user('admin', '') addNyNews(self.portal.info, title=news_data['title'], contributor='admin', submitted=1) addNyNews(self.portal.info, title=news_data_2['title'], contributor='admin', submitted=1) transaction.commit()
def afterSetUp(self): from naaya.content.news.news_item import addNyNews addNyNews(self.portal.info, id='ver_news', title='ver_news', submitted=1) import transaction transaction.commit()
def afterSetUp(self): permission_add_role(self.portal, 'Naaya - Skip Captcha', 'contributor') addNyNews(self.portal.info, submitted=1, title=news_data['news_title'], contributor='contributor') transaction.commit() self.login_user('admin', '') self.selenium_add_language('fr')
def selenium_initialize_local(self, news_data, news_data_2): """Initializing...""" self.login_user('admin', '') addNyNews(self.portal.info, title=news_data['title'], contributor='admin', submitted=1) addNyNews(self.portal.info, title=news_data_2['title'], contributor='admin', submitted=1) transaction.commit()
def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.news.news_item import addNyNews addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1) addNyNews(self.portal.myfolder, id='mynews', submitted=1, contributor='contributor', title='The News') import transaction transaction.commit()
def test_syndication(self): self.portal.publisher = 'The publisher' self.portal.creator = 'The creator' addNyNews(self.portal['info'], id='9000', title='The news', source='Me') news = self.portal['info']['9000'] tree = etree.XML(news.syndicateThis()) news_type = tree.xpath('./dc:type', namespaces=rdf_ns_map)[0] news_format = tree.xpath('./dc:format', namespaces=rdf_ns_map)[0] news_source = tree.xpath('./dc:source', namespaces=rdf_ns_map)[0] news_creator = tree.xpath('./dc:creator', namespaces=rdf_ns_map)[0] news_publisher = tree.xpath('./dc:publisher', namespaces=rdf_ns_map)[0] self.assertEqual(news_type.text, 'Text') self.assertEqual(news_format.text, 'text') self.assertEqual(news_source.text, news.source) self.assertEqual(news_creator.text, self.portal.creator) self.assertEqual(news_publisher.text, self.portal.publisher)
def test_syndication(self): self.portal.publisher = 'The publisher' self.portal.creator = 'The creator' addNyNews(self.portal['info'], id='9000', title='The news', source='Me') news = self.portal['info']['9000'] tree = etree.XML(news.syndicateThis()) news_type = tree.xpath('./dc:type', namespaces=rdf_ns_map)[0] news_format = tree.xpath('./dc:format', namespaces=rdf_ns_map)[0] news_source = tree.xpath('./dc:source', namespaces=rdf_ns_map)[0] news_creator = tree.xpath('./dc:creator', namespaces=rdf_ns_map)[0] news_publisher = tree.xpath('./dc:publisher', namespaces=rdf_ns_map)[0] self.assertEqual(news_type.text, 'Text') self.assertEqual(news_format.text, 'text') self.assertEqual(news_source.text, news.source) self.assertEqual(news_creator.text, self.portal.creator) self.assertEqual(news_publisher.text, self.portal.publisher)
def test_export_news(self): addNyNews(self.test_folder, id='interesting_news', title='Great news') export_value = self.test_folder.zip_export.do_export() self.assertFalse(isinstance(export_value, list), ('Errors are raised: ', export_value)) zip = ZipFile(export_value, 'r') self.assertEqual(sorted(zip.namelist()), sorted(['index.txt', 'zip_export_folder/interesting_news.html'])) exported_news_content = \ zip.read('zip_export_folder/interesting_news.html') obj = self.test_folder['interesting_news'] schema = self.portal.getSchemaTool().getSchemaForMetatype('Naaya News') obj_data = [] obj_data.append('<html><body>') obj_data.append('<h1>%s</h1>' % obj.title_or_id()) for widget in schema.listWidgets(): if widget.prop_name() in ['sortorder', 'topitem', 'title']: continue if not widget.visible: continue obj_widget_value = getattr(obj, widget.prop_name(), '') widget_data = widget._convert_to_form_string(obj_widget_value) if not widget_data: continue obj_data.append('<h2>%s</h2><p><div>%s</div></p>' % (widget.title, widget_data)) obj_data.append('</body></html>') self.assertEqual('\n'.join(obj_data), exported_news_content)
def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.news.news_item import addNyNews addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1) addNyNews(self.portal.myfolder, id='mynews', submitted=1, contributor='contributor', title='The News') import transaction; transaction.commit()
def add_object(self, parent): ob = parent[addNyNews(parent, title='My news')] ob.approveThis() return ob
def add_object(self, parent, **kwargs): from naaya.content.news.news_item import addNyNews return addNyNews(parent, **kwargs)
def afterSetUp(self): portal = self.app.portal addNyFolder(portal, 'test_folder') addNyNews(portal.test_folder, id='test_news', title='Test news')
def afterSetUp(self): from naaya.content.news.news_item import addNyNews addNyNews(self.portal.info, id='ver_news', title='ver_news', submitted=1) import transaction; transaction.commit()