diff -r 12ea53a4c0da -r 387d51af966d test/unittest_entity.py --- a/test/unittest_entity.py Tue Oct 13 18:21:24 2009 +0200 +++ b/test/unittest_entity.py Thu Oct 15 10:31:54 2009 +0200 @@ -185,7 +185,19 @@ Personne.fetch_attrs, Personne.fetch_order = fetch_config(('nom', )) # XXX self.assertEquals(p.related_rql('evaluee'), - 'Any X,AA ORDERBY Z DESC WHERE X modification_date Z, E eid %(x)s, E evaluee X, X modification_date AA') + 'Any X,AA ORDERBY Z DESC ' + 'WHERE X modification_date Z, E eid %(x)s, E evaluee X, ' + 'X modification_date AA') + + tag = self.vreg['etypes'].etype_class('Tag')(self.request()) + self.assertEquals(tag.related_rql('tags', 'subject'), + 'Any X,AA ORDERBY Z DESC ' + 'WHERE X modification_date Z, E eid %(x)s, E tags X, ' + 'X modification_date AA') + self.assertEquals(tag.related_rql('tags', 'subject', ('Personne',)), + 'Any X,AA,AB ORDERBY AA ASC ' + 'WHERE E eid %(x)s, E tags XE is IN (Personne), X nom AA, ' + 'X modification_date AB') def test_unrelated_rql_security_1(self): user = self.request().user @@ -460,6 +472,21 @@ self.assertEquals(card.absolute_url(), 'http://testing.fr/cubicweb/card/eid/%s' % card.eid) + def test_create_entity(self): + p1 = self.add_entity('Personne', nom=u'fayolle', prenom=u'alexandre') + p2 = self.add_entity('Personne', nom=u'campeas', prenom=u'aurelien') + note = self.add_entity('Note', type=u'z') + req = self.request() + p = req.create_entity('Personne', nom=u'di mascio', prenom=u'adrien', + connait=p1, evaluee=[p1, p2], + reverse_ecrit_par=note) + self.assertEquals(p.nom, 'di mascio') + self.assertEquals([c.nom for c in p.connait], ['fayolle']) + self.assertEquals(sorted([c.nom for c in p.evaluee]), ['campeas', 'fayolle']) + self.assertEquals([c.type for c in p.reverse_ecrit_par], ['z']) + + + if __name__ == '__main__': from logilab.common.testlib import unittest_main unittest_main()