web/test/unittest_form.py
changeset 8734 3530b7494195
parent 7791 31bb51ea5485
child 8849 7da8339cd768
equal deleted inserted replaced
8733:bdc50659f648 8734:3530b7494195
    57     def setUp(self):
    57     def setUp(self):
    58         super(EntityFieldsFormTC, self).setUp()
    58         super(EntityFieldsFormTC, self).setUp()
    59         self.req = self.request()
    59         self.req = self.request()
    60         self.entity = self.user(self.req)
    60         self.entity = self.user(self.req)
    61 
    61 
    62     def test_form_field_vocabulary_unrelated(self):
    62     def test_form_field_choices(self):
    63         b = self.req.create_entity('BlogEntry', title=u'di mascii code', content=u'a best-seller')
    63         b = self.req.create_entity('BlogEntry', title=u'di mascii code', content=u'a best-seller')
    64         t = self.req.create_entity('Tag', name=u'x')
    64         t = self.req.create_entity('Tag', name=u'x')
    65         form1 = self.vreg['forms'].select('edition', self.req, entity=t)
    65         form1 = self.vreg['forms'].select('edition', self.req, entity=t)
    66         unrelated = [reid for rview, reid in form1.field_by_name('tags', 'subject', t.e_schema).choices(form1)]
    66         choices = [reid for rview, reid in form1.field_by_name('tags', 'subject', t.e_schema).choices(form1)]
    67         self.assertTrue(unicode(b.eid) in unrelated, unrelated)
    67         self.assertIn(unicode(b.eid), choices)
    68         form2 = self.vreg['forms'].select('edition', self.req, entity=b)
    68         form2 = self.vreg['forms'].select('edition', self.req, entity=b)
    69         unrelated = [reid for rview, reid in form2.field_by_name('tags', 'object', t.e_schema).choices(form2)]
    69         choices = [reid for rview, reid in form2.field_by_name('tags', 'object', t.e_schema).choices(form2)]
    70         self.assertTrue(unicode(t.eid) in unrelated, unrelated)
    70         self.assertIn(unicode(t.eid), choices)
       
    71 
       
    72         b.cw_clear_all_caches()
       
    73         t.cw_clear_all_caches()
    71         self.execute('SET X tags Y WHERE X is Tag, Y is BlogEntry')
    74         self.execute('SET X tags Y WHERE X is Tag, Y is BlogEntry')
    72         unrelated = [reid for rview, reid in form1.field_by_name('tags', 'subject', t.e_schema).choices(form1)]
    75 
    73         self.assertFalse(unicode(b.eid) in unrelated, unrelated)
    76         choices = [reid for rview, reid in form1.field_by_name('tags', 'subject', t.e_schema).choices(form1)]
    74         unrelated = [reid for rview, reid in form2.field_by_name('tags', 'object', t.e_schema).choices(form2)]
    77         self.assertIn(unicode(b.eid), choices)
    75         self.assertFalse(unicode(t.eid) in unrelated, unrelated)
    78         choices = [reid for rview, reid in form2.field_by_name('tags', 'object', t.e_schema).choices(form2)]
    76 
    79         self.assertIn(unicode(t.eid), choices)
    77 
    80 
    78     def test_form_field_vocabulary_new_entity(self):
    81     def test_form_field_choices_new_entity(self):
    79         e = self.vreg['etypes'].etype_class('CWUser')(self.request())
    82         e = self.vreg['etypes'].etype_class('CWUser')(self.request())
    80         form = self.vreg['forms'].select('edition', self.req, entity=e)
    83         form = self.vreg['forms'].select('edition', self.req, entity=e)
    81         unrelated = [rview for rview, reid in form.field_by_name('in_group', 'subject').choices(form)]
    84         unrelated = [rview for rview, reid in form.field_by_name('in_group', 'subject').choices(form)]
    82         # should be default groups but owners, i.e. managers, users, guests
    85         # should be default groups but owners, i.e. managers, users, guests
    83         self.assertEqual(unrelated, [u'guests', u'managers', u'users'])
    86         self.assertEqual(unrelated, [u'guests', u'managers', u'users'])