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: |