cubicweb/web/test/unittest_formfields.py
changeset 11170 d034791621ad
parent 11057 0b59724cb3f2
child 11269 73ac69970047
--- a/cubicweb/web/test/unittest_formfields.py	Tue Jan 12 14:31:14 2016 +0100
+++ b/cubicweb/web/test/unittest_formfields.py	Wed Feb 17 10:02:03 2016 +0100
@@ -1,4 +1,4 @@
-# copyright 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2003-2016 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
 #
 # This file is part of CubicWeb.
@@ -24,11 +24,10 @@
 import cubicweb
 from cubicweb.devtools import TestServerConfiguration
 from cubicweb.devtools.testlib import CubicWebTC
-from cubicweb.web.formwidgets import PasswordInput, TextArea, Select, Radio
+from cubicweb.web.formwidgets import PasswordInput, Select, Radio
 from cubicweb.web.formfields import *
 from cubicweb.web.views.forms import EntityFieldsForm, FieldsForm
 
-from cubes.file.entities import File
 
 def setUpModule(*args):
     global schema
@@ -36,6 +35,7 @@
     config.bootstrap_cubes()
     schema = config.load_schema()
 
+
 class GuessFieldTC(CubicWebTC):
 
     def test_state_fields(self):
@@ -44,12 +44,6 @@
             self.assertIsInstance(title_field, StringField)
             self.assertEqual(title_field.required, True)
 
-#         synopsis_field = guess_field(schema['State'], schema['synopsis'])
-#         self.assertIsInstance(synopsis_field, StringField)
-#         self.assertIsInstance(synopsis_field.widget, TextArea)
-#         self.assertEqual(synopsis_field.required, False)
-#         self.assertEqual(synopsis_field.help, 'an abstract for this state')
-
         with self.admin_access.web_request() as req:
             description_field = guess_field(schema['State'], schema['description'], req=req)
             self.assertIsInstance(description_field, RichTextField)
@@ -65,11 +59,6 @@
             self.assertEqual(description_format_field.internationalizable, True)
             self.assertEqual(description_format_field.sort, True)
 
-#         wikiid_field = guess_field(schema['State'], schema['wikiid'])
-#         self.assertIsInstance(wikiid_field, StringField)
-#         self.assertEqual(wikiid_field.required, False)
-
-
     def test_cwuser_fields(self):
         with self.admin_access.web_request() as req:
             upassword_field = guess_field(schema['CWUser'], schema['upassword'], req=req)
@@ -78,7 +67,8 @@
             self.assertEqual(upassword_field.required, True)
 
         with self.admin_access.web_request() as req:
-            last_login_time_field = guess_field(schema['CWUser'], schema['last_login_time'], req=req)
+            last_login_time_field = guess_field(schema['CWUser'], schema['last_login_time'],
+                                                req=req)
             self.assertIsInstance(last_login_time_field, DateTimeField)
             self.assertEqual(last_login_time_field.required, False)
 
@@ -95,15 +85,7 @@
             self.assertEqual(owned_by_field.required, False)
             self.assertEqual(owned_by_field.role, 'object')
 
-
     def test_file_fields(self):
-        # data_format_field = guess_field(schema['File'], schema['data_format'])
-        # self.assertEqual(data_format_field, None)
-        # data_encoding_field = guess_field(schema['File'], schema['data_encoding'])
-        # self.assertEqual(data_encoding_field, None)
-        # data_name_field = guess_field(schema['File'], schema['data_name'])
-        # self.assertEqual(data_name_field, None)
-
         with self.admin_access.web_request() as req:
             data_field = guess_field(schema['File'], schema['data'], req=req)
             self.assertIsInstance(data_field, FileField)
@@ -117,11 +99,10 @@
             salesterm_field = guess_field(schema['Salesterm'], schema['reason'], req=req)
             constraints = schema['reason'].rdef('Salesterm', 'String').constraints
             self.assertEqual([c.__class__ for c in constraints],
-                              [SizeConstraint, StaticVocabularyConstraint])
+                             [SizeConstraint, StaticVocabularyConstraint])
             self.assertIsInstance(salesterm_field, StringField)
             self.assertIsInstance(salesterm_field.widget, Select)
 
-
     def test_bool_field_base(self):
         with self.admin_access.web_request() as req:
             field = guess_field(schema['CWAttribute'], schema['indexed'], req=req)
@@ -129,7 +110,7 @@
             self.assertEqual(field.required, False)
             self.assertIsInstance(field.widget, Radio)
             self.assertEqual(field.vocabulary(mock(_cw=mock(_=cubicweb._))),
-                              [(u'yes', '1'), (u'no', '')])
+                             [(u'yes', '1'), (u'no', '')])
 
     def test_bool_field_explicit_choices(self):
         with self.admin_access.web_request() as req:
@@ -137,7 +118,7 @@
                                 choices=[(u'maybe', '1'), (u'no', '')], req=req)
             self.assertIsInstance(field.widget, Radio)
             self.assertEqual(field.vocabulary(mock(req=mock(_=cubicweb._))),
-                              [(u'maybe', '1'), (u'no', '')])
+                             [(u'maybe', '1'), (u'no', '')])
 
 
 class MoreFieldsTC(CubicWebTC):
@@ -152,11 +133,11 @@
             self.assertEqual(description_format_field.sort, True)
             # unlike below, initial is bound to form.form_field_format
             self.assertEqual(description_format_field.value(form), 'text/plain')
-            req.cnx.execute('INSERT CWProperty X: X pkey "ui.default-text-format", X value "text/rest", X for_user U WHERE U login "admin"')
+            req.cnx.create_entity('CWProperty', pkey=u"ui.default-text-format", value=u"text/rest",
+                                  for_user=req.user.eid)
             req.cnx.commit()
             self.assertEqual(description_format_field.value(form), 'text/rest')
 
-
     def test_property_key_field(self):
         from cubicweb.web.views.cwproperties import PropertyKeyField
         with self.admin_access.web_request() as req:
@@ -171,15 +152,17 @@
 class CompoundFieldTC(CubicWebTC):
 
     def test_multipart(self):
-        """Ensures that compound forms have needs_multipart set if their
-        children require it"""
+        """Ensures that compound forms have needs_multipart set if their children require it"""
         class AForm(FieldsForm):
             comp = CompoundField([IntField(), StringField()])
+
         with self.admin_access.web_request() as req:
             aform = AForm(req, None)
             self.assertFalse(aform.needs_multipart)
+
         class MForm(FieldsForm):
             comp = CompoundField([IntField(), FileField()])
+
         with self.admin_access.web_request() as req:
             mform = MForm(req, None)
             self.assertTrue(mform.needs_multipart)
@@ -188,12 +171,12 @@
 class UtilsTC(TestCase):
     def test_vocab_sort(self):
         self.assertEqual(vocab_sort([('Z', 1), ('A', 2),
-                                      ('Group 1', None), ('Y', 3), ('B', 4),
-                                      ('Group 2', None), ('X', 5), ('C', 6)]),
-                          [('A', 2), ('Z', 1),
-                           ('Group 1', None), ('B', 4), ('Y', 3),
-                           ('Group 2', None), ('C', 6), ('X', 5)]
-                          )
+                                     ('Group 1', None), ('Y', 3), ('B', 4),
+                                     ('Group 2', None), ('X', 5), ('C', 6)]),
+                         [('A', 2), ('Z', 1),
+                          ('Group 1', None), ('B', 4), ('Y', 3),
+                          ('Group 2', None), ('C', 6), ('X', 5)])
+
 
 if __name__ == '__main__':
     unittest_main()