test/unittest_rset.py
changeset 6225 a176e68b7d0d
parent 6142 8bc6eac1fac1
parent 6195 a0c4441e6ddf
child 6366 1806148d6ce8
equal deleted inserted replaced
6182:30de0be8f895 6225:a176e68b7d0d
   366         self.execute('SET B bookmarked_by U WHERE U login "admin"')
   366         self.execute('SET B bookmarked_by U WHERE U login "admin"')
   367         rset = self.execute('Any B,T,L WHERE B bookmarked_by U, U login L '
   367         rset = self.execute('Any B,T,L WHERE B bookmarked_by U, U login L '
   368                             'WITH B,T BEING (Any B,T WHERE B is Bookmark, B title T)')
   368                             'WITH B,T BEING (Any B,T WHERE B is Bookmark, B title T)')
   369         rset.related_entity(0, 2)
   369         rset.related_entity(0, 2)
   370 
   370 
       
   371     def test_related_entity_subquery_outerjoin(self):
       
   372         rset = self.execute('Any X,S,L WHERE X in_state S '
       
   373                             'WITH X, L BEING (Any X,MAX(L) GROUPBY X '
       
   374                             'WHERE X is CWUser, T? wf_info_for X, T creation_date L)')
       
   375         self.assertEquals(len(rset), 2)
       
   376         rset.related_entity(0, 1)
       
   377         rset.related_entity(0, 2)
       
   378 
   371     def test_entities(self):
   379     def test_entities(self):
   372         rset = self.execute('Any U,G WHERE U in_group G')
   380         rset = self.execute('Any U,G WHERE U in_group G')
   373         # make sure we have at least one element
   381         # make sure we have at least one element
   374         self.failUnless(rset)
   382         self.failUnless(rset)
   375         self.assertEquals(set(e.e_schema.type for e in rset.entities(0)),
   383         self.assertEquals(set(e.e_schema.type for e in rset.entities(0)),