web/test/unittest_facet.py
changeset 7776 aa547cf3bf0d
parent 7768 bd44f506ca86
child 7874 be04706eacc9
equal deleted inserted replaced
7769:8af09eeee130 7776:aa547cf3bf0d
    48         # selection is cluttered because rqlst has been prepared for facet (it
    48         # selection is cluttered because rqlst has been prepared for facet (it
    49         # is not in real life)
    49         # is not in real life)
    50         self.assertEqual(f.select.as_string(),
    50         self.assertEqual(f.select.as_string(),
    51                          'DISTINCT Any  WHERE X is CWUser, X in_group D, D eid %s' % guests)
    51                          'DISTINCT Any  WHERE X is CWUser, X in_group D, D eid %s' % guests)
    52 
    52 
       
    53     def test_relation_multiple_and(self):
       
    54         f, (guests, managers) = self._in_group_facet()
       
    55         f._cw.form[f.__regid__] = [str(guests), str(managers)]
       
    56         f._cw.form[f.__regid__ + '_andor'] = 'AND'
       
    57         f.add_rql_restrictions()
       
    58         self.assertEqual(f.select.as_string(),
       
    59                          'DISTINCT Any  WHERE X is CWUser, X in_group A, B eid %s, X in_group B, A eid %s' % (guests, managers))
       
    60 
       
    61     def test_relation_multiple_or(self):
       
    62         f, (guests, managers) = self._in_group_facet()
       
    63         f._cw.form[f.__regid__] = [str(guests), str(managers)]
       
    64         f._cw.form[f.__regid__ + '_andor'] = 'OR'
       
    65         f.add_rql_restrictions()
       
    66         self.assertEqual(f.select.as_string(),
       
    67                          'DISTINCT Any  WHERE X is CWUser, X in_group A, A eid IN(%s, %s)' % (guests, managers))
       
    68 
    53     def test_relation_optional_rel(self):
    69     def test_relation_optional_rel(self):
    54         req = self.request()
    70         req = self.request()
    55         rset = self.execute('Any X,GROUP_CONCAT(GN) GROUPBY X '
    71         rset = self.execute('Any X,GROUP_CONCAT(GN) GROUPBY X '
    56                             'WHERE X in_group G?, G name GN, NOT G name "users"')
    72                             'WHERE X in_group G?, G name GN, NOT G name "users"')
    57         rqlst = rset.syntax_tree().copy()
    73         rqlst = rset.syntax_tree().copy()