14 ## self.add_entity('Tag', name=u'x') |
14 ## self.add_entity('Tag', name=u'x') |
15 ## self.add_entity('Link', title=u'perdu', url=u'http://www.perdu.com', |
15 ## self.add_entity('Link', title=u'perdu', url=u'http://www.perdu.com', |
16 ## embed=False) |
16 ## embed=False) |
17 |
17 |
18 def test_boolean_value(self): |
18 def test_boolean_value(self): |
19 e = self.etype_instance('Tag') |
19 e = self.etype_instance('EUser') |
20 self.failUnless(e) |
20 self.failUnless(e) |
21 |
21 |
22 def test_yams_inheritance(self): |
22 def test_yams_inheritance(self): |
23 from entities import AnotherNote |
23 from entities import AnotherNote |
24 e = self.etype_instance('SubNote') |
24 e = self.etype_instance('SubNote') |
25 self.assertIsInstance(e, AnotherNote) |
25 self.assertIsInstance(e, AnotherNote) |
26 e2 = self.etype_instance('SubNote') |
26 e2 = self.etype_instance('SubNote') |
27 self.assertIs(e.__class__, e2.__class__) |
27 self.assertIs(e.__class__, e2.__class__) |
28 |
28 |
29 def test_has_eid(self): |
29 def test_has_eid(self): |
30 e = self.etype_instance('Tag') |
30 e = self.etype_instance('EUser') |
31 self.assertEquals(e.eid, None) |
31 self.assertEquals(e.eid, None) |
32 self.assertEquals(e.has_eid(), False) |
32 self.assertEquals(e.has_eid(), False) |
33 e.eid = 'X' |
33 e.eid = 'X' |
34 self.assertEquals(e.has_eid(), False) |
34 self.assertEquals(e.has_eid(), False) |
35 e.eid = 0 |
35 e.eid = 0 |
165 Societe.fetch_attrs = sfetch_attrs |
165 Societe.fetch_attrs = sfetch_attrs |
166 |
166 |
167 def test_related_rql(self): |
167 def test_related_rql(self): |
168 from cubicweb.entities import fetch_config |
168 from cubicweb.entities import fetch_config |
169 Personne = self.vreg.etype_class('Personne') |
169 Personne = self.vreg.etype_class('Personne') |
170 Societe = self.vreg.etype_class('Societe') |
170 Note = self.vreg.etype_class('Note') |
171 Personne.fetch_attrs, Personne.fetch_order = fetch_config(('nom', 'prenom', 'sexe')) |
171 Personne.fetch_attrs, Personne.fetch_order = fetch_config(('nom', 'type')) |
172 Societe.fetch_attrs, Societe.fetch_order = fetch_config(('nom', 'web')) |
172 Note.fetch_attrs, Note.fetch_order = fetch_config(('type',)) |
173 aff = self.add_entity('Affaire', sujet=u'my subject', ref=u'the ref') |
173 aff = self.add_entity('Personne', nom=u'pouet') |
174 self.assertEquals(aff.related_rql('liee_a'), |
174 self.assertEquals(aff.related_rql('evaluee'), |
175 'Any X,AA,AB ORDERBY AA ASC WHERE E eid %(x)s, E liee_a X, ' |
175 'Any X,AA,AB ORDERBY AA ASC WHERE E eid %(x)s, E evaluee X, ' |
176 'X nom AA, X modification_date AB') |
176 'X type AA, X modification_date AB') |
177 Societe.fetch_attrs = ('web',) |
177 Personne.fetch_attrs, Personne.fetch_order = fetch_config(('nom', )) |
178 self.assertEquals(aff.related_rql('liee_a'), |
178 # XXX |
179 'Any X ORDERBY Z DESC WHERE X modification_date Z, E eid %(x)s, E liee_a X') |
179 self.assertEquals(aff.related_rql('evaluee'), |
|
180 'Any X,AA ORDERBY Z DESC WHERE X modification_date Z, E eid %(x)s, E evaluee X, X modification_date AA') |
180 |
181 |
181 def test_entity_unrelated(self): |
182 def test_entity_unrelated(self): |
182 p = self.add_entity('Personne', nom=u'di mascio', prenom=u'adrien') |
183 p = self.add_entity('Personne', nom=u'di mascio', prenom=u'adrien') |
183 e = self.add_entity('Tag', name=u'x') |
184 e = self.add_entity('Tag', name=u'x') |
184 rschema = e.e_schema.subject_relation('tags') |
185 rschema = e.e_schema.subject_relation('tags') |
263 ('created_by', 'object'), |
264 ('created_by', 'object'), |
264 ('wf_info_for', 'object'), |
265 ('wf_info_for', 'object'), |
265 ('owned_by', 'object'), |
266 ('owned_by', 'object'), |
266 ('bookmarked_by', 'object')]) |
267 ('bookmarked_by', 'object')]) |
267 e = self.etype_instance('Personne') |
268 e = self.etype_instance('Personne') |
|
269 print rbc(e.relations_by_category('primary')) |
268 self.assertListEquals(rbc(e.relations_by_category('primary')), |
270 self.assertListEquals(rbc(e.relations_by_category('primary')), |
269 [('nom', 'subject'), ('eid', 'subject')]) |
271 [('nom', 'subject'), ('eid', 'subject')]) |
270 self.assertListEquals(rbc(e.relations_by_category('secondary')), |
272 self.assertListEquals(rbc(e.relations_by_category('secondary')), |
271 [('prenom', 'subject'), |
273 [('prenom', 'subject'), |
272 ('sexe', 'subject'), |
274 ('sexe', 'subject'), |
384 e['content'] = u'été' |
386 e['content'] = u'été' |
385 self.assertEquals(e.printable_value('content'), e['content']) |
387 self.assertEquals(e.printable_value('content'), e['content']) |
386 |
388 |
387 |
389 |
388 def test_entity_formatted_attrs(self): |
390 def test_entity_formatted_attrs(self): |
389 e = self.etype_instance('Note') |
391 e = self.etype_instance('EUser') |
390 self.assertEquals(e.formatted_attrs(), []) |
392 self.assertEquals(e.formatted_attrs(), []) |
391 e = self.etype_instance('File') |
393 e = self.etype_instance('File') |
392 self.assertEquals(e.formatted_attrs(), ['description']) |
394 self.assertEquals(e.formatted_attrs(), ['description']) |
393 e = self.etype_instance('AnotherNote') |
|
394 self.assertEquals(e.formatted_attrs(), ['descr', 'descr2']) |
|
395 |
395 |
396 |
396 |
397 def test_fulltextindex(self): |
397 def test_fulltextindex(self): |
398 e = self.etype_instance('File') |
398 e = self.etype_instance('File') |
399 e['name'] = 'an html file' |
399 e['name'] = 'an html file' |