web/test/unittest_views_baseforms.py
branchtls-sprint
changeset 1802 d628defebc17
parent 1398 5fe84a5f7035
child 1977 606923dff11b
equal deleted inserted replaced
1801:672acc730ce5 1802:d628defebc17
    29 
    29 
    30 class EditionFormTC(EnvBasedTC):
    30 class EditionFormTC(EnvBasedTC):
    31 
    31 
    32     def setup_database(self):
    32     def setup_database(self):
    33         self.create_user('joe')
    33         self.create_user('joe')
    34         
    34 
    35     def _build_creation_form(self, etype):
    35     def _build_creation_form(self, etype):
    36         req = self.request()
    36         req = self.request()
    37         req.next_tabindex()
    37         req.next_tabindex()
    38         req.next_tabindex()
    38         req.next_tabindex()
    39         req.del_page_data()
    39         req.del_page_data()
    42         entity = self.vreg.etype_class(etype)(req, None, None)
    42         entity = self.vreg.etype_class(etype)(req, None, None)
    43         buffer = StringIO()
    43         buffer = StringIO()
    44         view.w = buffer.write
    44         view.w = buffer.write
    45         view.edit_form(entity, {})
    45         view.edit_form(entity, {})
    46         return buffer.getvalue()
    46         return buffer.getvalue()
    47     
    47 
    48     def _test_view_for(self, etype, expected):
    48     def _test_view_for(self, etype, expected):
    49         self.assertTextEquals(expected, cleanup_text(self._build_creation_form(etype)))
    49         self.assertTextEquals(expected, cleanup_text(self._build_creation_form(etype)))
    50         
    50 
    51     def test_base(self):
    51     def test_base(self):
    52         self._test_view_for('CWGroup', '''\
    52         self._test_view_for('CWGroup', '''\
    53 <form id="entityForm" class="entityForm" cubicweb:target="eformframe"
    53 <form id="entityForm" class="entityForm" cubicweb:target="eformframe"
    54 method="post" onsubmit="return freezeFormButtons('entityForm')" enctype="application/x-www-form-urlencoded" action="http://testing.fr/cubicweb/validateform">
    54 method="post" onsubmit="return freezeFormButtons('entityForm')" enctype="application/x-www-form-urlencoded" action="http://testing.fr/cubicweb/validateform">
    55 <div class="formTitle"><span>egroup (creation)</span></div>
    55 <div class="formTitle"><span>egroup (creation)</span></div>
   196         vreg.register_vobject_class(Salesterm)
   196         vreg.register_vobject_class(Salesterm)
   197         req.form['etype'] = 'Salesterm'
   197         req.form['etype'] = 'Salesterm'
   198         entity = vreg.etype_class('Salesterm')(req, None, None)
   198         entity = vreg.etype_class('Salesterm')(req, None, None)
   199         view = vreg.select_view('creation', req, None)
   199         view = vreg.select_view('creation', req, None)
   200         self.failUnless(view.need_multipart(entity))
   200         self.failUnless(view.need_multipart(entity))
   201         
   201 
   202 
   202 
   203 
   203 
   204     def test_nonregr_check_add_permission_on_relation(self):
   204     def test_nonregr_check_add_permission_on_relation(self):
   205         from cubes.blog.entities import BlogEntry
   205         from cubes.blog.entities import BlogEntry
   206         class BlogEntryPlus(BlogEntry):
   206         class BlogEntryPlus(BlogEntry):
   212         self.failUnless('name="edits-checked_by:A"' in html)
   212         self.failUnless('name="edits-checked_by:A"' in html)
   213         # a regular user should not be able to see the relation
   213         # a regular user should not be able to see the relation
   214         self.login('joe')
   214         self.login('joe')
   215         html = self._build_creation_form('BlogEntry')
   215         html = self._build_creation_form('BlogEntry')
   216         self.failIf('name="edits-checked_by:A"' in html)
   216         self.failIf('name="edits-checked_by:A"' in html)
   217         
   217 
   218 from cubicweb.devtools.testlib import WebTest
   218 from cubicweb.devtools.testlib import WebTest
   219 from cubicweb.devtools.htmlparser import DTDValidator
   219 from cubicweb.devtools.htmlparser import DTDValidator
   220 
   220 
   221 class CopyWebTest(WebTest):
   221 class CopyWebTest(WebTest):
   222 
   222