53 self.execute('SET TAG tags X WHERE X eid %(x)s', {'x': oe.eid}, 'x') |
53 self.execute('SET TAG tags X WHERE X eid %(x)s', {'x': oe.eid}, 'x') |
54 e = self.add_entity('Note', type=u'z') |
54 e = self.add_entity('Note', type=u'z') |
55 e.copy_relations(oe.eid) |
55 e.copy_relations(oe.eid) |
56 self.assertEquals(len(e.ecrit_par), 1) |
56 self.assertEquals(len(e.ecrit_par), 1) |
57 self.assertEquals(e.ecrit_par[0].eid, p.eid) |
57 self.assertEquals(e.ecrit_par[0].eid, p.eid) |
58 self.assertEquals(len(e.reverse_tags), 0) |
58 self.assertEquals(len(e.reverse_tags), 1) |
|
59 # check meta-relations are not copied, set on commit |
|
60 self.assertEquals(len(e.created_by), 0) |
59 |
61 |
60 def test_copy_with_nonmeta_composite_inlined(self): |
62 def test_copy_with_nonmeta_composite_inlined(self): |
61 p = self.add_entity('Personne', nom=u'toto') |
63 p = self.add_entity('Personne', nom=u'toto') |
62 oe = self.add_entity('Note', type=u'x') |
64 oe = self.add_entity('Note', type=u'x') |
63 self.schema['ecrit_par'].set_rproperty('Note', 'Personne', 'composite', 'subject') |
65 self.schema['ecrit_par'].set_rproperty('Note', 'Personne', 'composite', 'subject') |
213 |
215 |
214 def test_printable_value_string(self): |
216 def test_printable_value_string(self): |
215 e = self.add_entity('Card', title=u'rest test', content=u'du :eid:`1:*ReST*`', |
217 e = self.add_entity('Card', title=u'rest test', content=u'du :eid:`1:*ReST*`', |
216 content_format=u'text/rest') |
218 content_format=u'text/rest') |
217 self.assertEquals(e.printable_value('content'), |
219 self.assertEquals(e.printable_value('content'), |
218 '<p>du <a class="reference" href="http://testing.fr/cubicweb/cwgroup/managers">*ReST*</a></p>\n') |
220 '<p>du <a class="reference" href="http://testing.fr/cubicweb/cwgroup/guests">*ReST*</a></p>\n') |
219 e['content'] = 'du <em>html</em> <ref rql="CWUser X">users</ref>' |
221 e['content'] = 'du <em>html</em> <ref rql="CWUser X">users</ref>' |
220 e['content_format'] = 'text/html' |
222 e['content_format'] = 'text/html' |
221 self.assertEquals(e.printable_value('content'), |
223 self.assertEquals(e.printable_value('content'), |
222 'du <em>html</em> <a href="http://testing.fr/cubicweb/view?rql=CWUser%20X">users</a>') |
224 'du <em>html</em> <a href="http://testing.fr/cubicweb/view?rql=CWUser%20X">users</a>') |
223 e['content'] = 'du *texte*' |
225 e['content'] = 'du *texte*' |
320 self.failUnless(not p1.reverse_evaluee) |
322 self.failUnless(not p1.reverse_evaluee) |
321 |
323 |
322 def test_complete_relation(self): |
324 def test_complete_relation(self): |
323 self.execute('SET RT add_permission G WHERE RT name "wf_info_for", G name "managers"') |
325 self.execute('SET RT add_permission G WHERE RT name "wf_info_for", G name "managers"') |
324 self.commit() |
326 self.commit() |
|
327 session = self.session() |
325 try: |
328 try: |
326 eid = self.execute('INSERT TrInfo X: X comment "zou", X wf_info_for U,' |
329 eid = session.unsafe_execute( |
327 'X from_state S1, X to_state S2 WHERE ' |
330 'INSERT TrInfo X: X comment "zou", X wf_info_for U, X from_state S1, X to_state S2 ' |
328 'U login "admin", S1 name "activated", S2 name "deactivated"')[0][0] |
331 'WHERE U login "admin", S1 name "activated", S2 name "deactivated"')[0][0] |
329 trinfo = self.entity('Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
332 trinfo = self.entity('Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
330 trinfo.complete() |
333 trinfo.complete() |
331 self.failUnless(trinfo.relation_cached('from_state', 'subject')) |
334 self.failUnless(trinfo.relation_cached('from_state', 'subject')) |
332 self.failUnless(trinfo.relation_cached('to_state', 'subject')) |
335 self.failUnless(trinfo.relation_cached('to_state', 'subject')) |
333 self.failUnless(trinfo.relation_cached('wf_info_for', 'subject')) |
336 self.failUnless(trinfo.relation_cached('wf_info_for', 'subject')) |
334 # check with a missing relation |
337 # check with a missing relation |
335 eid = self.execute('INSERT TrInfo X: X comment "zou", X wf_info_for U,' |
338 eid = session.unsafe_execute( |
336 'X to_state S2 WHERE ' |
339 'INSERT TrInfo X: X comment "zou", X wf_info_for U,X to_state S2 ' |
337 'U login "admin", S2 name "activated"')[0][0] |
340 'WHERE U login "admin", S2 name "activated"')[0][0] |
338 trinfo = self.entity('Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
341 trinfo = self.entity('Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
339 trinfo.complete() |
342 trinfo.complete() |
340 self.failUnless(isinstance(trinfo.creation_date, datetime)) |
343 self.failUnless(isinstance(trinfo.creation_date, datetime)) |
341 self.failUnless(trinfo.relation_cached('from_state', 'subject')) |
344 self.failUnless(trinfo.relation_cached('from_state', 'subject')) |
342 self.failUnless(trinfo.relation_cached('to_state', 'subject')) |
345 self.failUnless(trinfo.relation_cached('to_state', 'subject')) |