[silva.app.page][Sylvain Viollon] Update tests.

[email protected] Fri, 30 Aug 2013 13:35:23 +0200
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Fri Aug 30 13:34:59 2013 +0200
revision:  109:38ce12d8ed3b in silva.app.page
branch:    2.4
details:   https://hg.infrae.com/silva.app.page?cmd=changeset;node=38ce12d8ed3b
modified:  src/silva/app/page/tests/test_xml_export.py
added:     
removed:   
log:       Update tests.


diffstat:

 src/silva/app/page/tests/test_xml_export.py |  118 +++++++++++++++------------
 1 files changed, 64 insertions(+), 54 deletions(-)

diffs (179 lines):

diff -r 38a584c7139d -r 38ce12d8ed3b src/silva/app/page/tests/test_xml_export.py
--- a/src/silva/app/page/tests/test_xml_export.py	Mon Aug 26 18:22:22 2013 +0200
+++ b/src/silva/app/page/tests/test_xml_export.py	Fri Aug 30 13:34:59 2013 +0200
@@ -5,7 +5,7 @@
 import unittest
 from datetime import datetime
 
-from Products.Silva.testing import TestRequest
+from Products.Silva.testing import TestRequest, Transaction
 from Products.Silva.tests.test_xml_export import SilvaXMLTestCase
 
 from silva.core.contentlayout.interfaces import IBlockController, IBlockManager
@@ -25,14 +25,15 @@
 
     def setUp(self):
         self.root = self.layer.get_application()
-        self.layer.login('editor')
-        factory = self.root.manage_addProduct['Silva']
-        factory.manage_addFolder('base', 'Export base')
-        factory = self.root.base.manage_addProduct['silva.app.page']
-        factory.manage_addPage('page', 'Page')
-        design = registry.lookup_design_by_name('adesign')
-        version = self.root.base.page.get_editable()
-        version.set_design(design)
+        with Transaction():
+            self.layer.login('editor')
+            factory = self.root.manage_addProduct['Silva']
+            factory.manage_addFolder('base', 'Export base')
+            factory = self.root.base.manage_addProduct['silva.app.page']
+            factory.manage_addPage('page', 'Page')
+            design = registry.lookup_design_by_name('adesign')
+            version = self.root.base.page.get_editable()
+            version.set_design(design)
 
     def test_export_page(self):
         """Export a simple page.
@@ -47,30 +48,32 @@
     def test_export_page_with_page_model(self):
         """Export a page with a page model at the same time.
         """
-        factory = self.root.base.manage_addProduct['silva.core.contentlayout']
-        factory.manage_addPageModel('model', 'A Page Model')
+        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()
+            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>"
+            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'))
+            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)
+            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(
@@ -84,13 +87,15 @@
         """Export a page that uses a page model that is not inside the
         export folder.
         """
-        factory = self.root.manage_addProduct['silva.core.contentlayout']
-        factory.manage_addPageModel('model', 'A Page Model')
-        IPublicationWorkflow(self.root.model).publish()
+        with Transaction():
+            factory = self.root.manage_addProduct['silva.core.contentlayout']
+            factory.manage_addPageModel('model', 'A Page Model')
+            IPublicationWorkflow(self.root.model).publish()
 
-        model_version = self.root.model.get_viewable()
-        page_version = self.root.base.page.get_editable()
-        page_version.set_design(model_version)
+            model_version = self.root.model.get_viewable()
+            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(
@@ -108,25 +113,28 @@
     def setUp(self):
         # adding base folder
         self.root = self.layer.get_application()
-        self.layer.login('editor')
-
-        factory = self.root.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News')
-        self.root.news.filter.set_show_agenda_items(True)
+        with Transaction():
+            self.layer.login('editor')
+            factory = self.root.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News')
+            self.root.news.filter.set_show_agenda_items(True)
 
     def test_export_news_info_page(self):
         # adding news page
-        factory = self.root.news.manage_addProduct['silva.app.page']
-        factory.manage_addNewsPage('newspage', 'A News Page')
+        with Transaction():
+            factory = self.root.news.manage_addProduct['silva.app.page']
+            factory.manage_addNewsPage('newspage', 'A News Page')
+
         version = self.root.news.newspage.get_editable()
         design = registry.lookup_design_by_name('adesign')
         self.assertIsNotNone(design)
         self.assertIsNotNone(version)
 
-        version.set_design(design)
-        version.set_subjects(['all'])
-        version.set_target_audiences(['generic'])
-        version.set_display_datetime(datetime(2010, 9, 30, 10, 0, 0))
+        with Transaction():
+            version.set_design(design)
+            version.set_subjects(['all'])
+            version.set_target_audiences(['generic'])
+            version.set_display_datetime(datetime(2010, 9, 30, 10, 0, 0))
 
         # adding blocks
         IBlockManager(version).add('one', NewsInfoBlock())
@@ -140,17 +148,19 @@
 
     def test_export_agenda_info_page(self):
         # adding agenda page
-        factory = self.root.news.manage_addProduct['silva.app.page']
-        factory.manage_addAgendaPage('agendapage', 'An Agenda Page')
-        version = self.root.news.agendapage.get_editable()
-        design = registry.lookup_design_by_name('adesign')
+        with Transaction():
+            factory = self.root.news.manage_addProduct['silva.app.page']
+            factory.manage_addAgendaPage('agendapage', 'An Agenda Page')
+            version = self.root.news.agendapage.get_editable()
+            design = registry.lookup_design_by_name('adesign')
+
         self.assertIsNotNone(version)
         self.assertIsNotNone(design)
 
-        version.set_design(design)
-
-        # adding block
-        IBlockManager(version).add('one', AgendaInfoBlock())
+        with Transaction():
+            version.set_design(design)
+            # adding block
+            IBlockManager(version).add('one', AgendaInfoBlock())
 
         exporter = self.assertExportEqual(
             self.root.news,