test/unittest_entity.py
branchtls-sprint
changeset 1016 26387b836099
parent 821 78cc1682c3a4
child 1098 739d4dce9b19
equal deleted inserted replaced
1014:4792a1bb72a9 1016:26387b836099
     1 # -*- coding: utf-8 -*-
     1 # -*- coding: utf-8 -*-
     2 """unit tests for cubicweb.web.views.entities module"""
     2 """unit tests for cubicweb.web.views.entities module"""
     3 
     3 
       
     4 from datetime import datetime
       
     5 
       
     6 from cubicweb import Binary
     4 from cubicweb.devtools.apptest import EnvBasedTC
     7 from cubicweb.devtools.apptest import EnvBasedTC
     5 
       
     6 from mx.DateTime import DateTimeType, now
       
     7 
       
     8 from cubicweb import Binary
       
     9 from cubicweb.common.mttransforms import HAS_TAL
     8 from cubicweb.common.mttransforms import HAS_TAL
    10 
     9 
    11 class EntityTC(EnvBasedTC):
    10 class EntityTC(EnvBasedTC):
    12 
    11 
    13 ##     def setup_database(self):
    12 ##     def setup_database(self):
   197     def test_entity_unrelated_limit(self):
   196     def test_entity_unrelated_limit(self):
   198         e = self.add_entity('Tag', name=u'x')
   197         e = self.add_entity('Tag', name=u'x')
   199         self.add_entity('Personne', nom=u'di mascio', prenom=u'adrien')
   198         self.add_entity('Personne', nom=u'di mascio', prenom=u'adrien')
   200         self.add_entity('Personne', nom=u'di mascio', prenom=u'gwen')
   199         self.add_entity('Personne', nom=u'di mascio', prenom=u'gwen')
   201         rschema = e.e_schema.subject_relation('tags')
   200         rschema = e.e_schema.subject_relation('tags')
   202         self.assertEquals(len(e.vocabulary(rschema, 'subject', limit=1)),
   201         self.assertEquals(len(e.unrelated(rschema, 'Personne', 'subject', limit=1)),
   203                           1)
   202                           1)
   204         
   203         
   205     def test_new_entity_unrelated(self):
   204     def test_new_entity_unrelated(self):
   206         e = self.etype_instance('EUser')
   205         e = self.etype_instance('EUser')
   207         rschema = e.e_schema.subject_relation('in_group')
   206         rschema = e.e_schema.subject_relation('in_group')
   418             eid = self.execute('INSERT TrInfo X: X comment "zou", X wf_info_for U,'
   417             eid = self.execute('INSERT TrInfo X: X comment "zou", X wf_info_for U,'
   419                                'X to_state S2 WHERE '
   418                                'X to_state S2 WHERE '
   420                                'U login "admin", S2 name "activated"')[0][0]
   419                                'U login "admin", S2 name "activated"')[0][0]
   421             trinfo = self.entity('Any X WHERE X eid %(x)s', {'x': eid}, 'x')
   420             trinfo = self.entity('Any X WHERE X eid %(x)s', {'x': eid}, 'x')
   422             trinfo.complete()
   421             trinfo.complete()
   423             self.failUnless(isinstance(trinfo.creation_date, DateTimeType))
   422             self.failUnless(isinstance(trinfo.creation_date, datetime))
   424             self.failUnless(trinfo.relation_cached('from_state', 'subject'))
   423             self.failUnless(trinfo.relation_cached('from_state', 'subject'))
   425             self.failUnless(trinfo.relation_cached('to_state', 'subject'))
   424             self.failUnless(trinfo.relation_cached('to_state', 'subject'))
   426             self.failUnless(trinfo.relation_cached('wf_info_for', 'subject'))
   425             self.failUnless(trinfo.relation_cached('wf_info_for', 'subject'))
   427             self.assertEquals(trinfo.from_state, [])
   426             self.assertEquals(trinfo.from_state, [])
   428         finally:
   427         finally: