--- a/web/test/unittest_facet.py Tue Sep 27 14:57:41 2011 +0200
+++ b/web/test/unittest_facet.py Tue Sep 27 16:04:30 2011 +0200
@@ -197,13 +197,12 @@
def test_rql_path_eid(self):
req, rset, rqlst, filtered_variable = self.prepare_rqlst()
- facet.RQLPathFacet.path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
- f = facet.RQLPathFacet(req, rset=rset,
- select=rqlst.children[0],
- filtered_variable=filtered_variable)
- f.filter_variable = 'O'
- f.label_variable = 'OL'
-
+ class RPF(facet.RQLPathFacet):
+ path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
+ filter_variable = 'O'
+ label_variable = 'OL'
+ f = RPF(req, rset=rset, select=rqlst.children[0],
+ filtered_variable=filtered_variable)
self.assertEqual(f.vocabulary(), [(u'admin', self.user().eid),])
# ensure rqlst is left unmodified
self.assertEqual(rqlst.as_string(), 'DISTINCT Any WHERE X is CWUser')
@@ -219,18 +218,26 @@
self.assertEqual(f.select.as_string(),
"DISTINCT Any WHERE X is CWUser, X created_by F, F owned_by G, G eid 1")
+ def test_rql_path_eid_no_label(self):
+ req, rset, rqlst, filtered_variable = self.prepare_rqlst()
+ class RPF(facet.RQLPathFacet):
+ path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
+ filter_variable = 'O'
+ f = RPF(req, rset=rset, select=rqlst.children[0],
+ filtered_variable=filtered_variable)
+ self.assertEqual(f.vocabulary(), [(str(self.user().eid), self.user().eid),])
+
def test_rql_path_attr(self):
req, rset, rqlst, filtered_variable = self.prepare_rqlst()
- facet.RQLPathFacet.path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
- f = facet.RQLPathFacet(req, rset=rset,
- select=rqlst.children[0],
- filtered_variable=filtered_variable)
- f.filter_variable = 'OL'
+ class RPF(facet.RQLPathFacet):
+ path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
+ filter_variable = 'OL'
+ f = RPF(req, rset=rset, select=rqlst.children[0],
+ filtered_variable=filtered_variable)
self.assertEqual(f.vocabulary(), [(u'admin', 'admin'),])
# ensure rqlst is left unmodified
self.assertEqual(rqlst.as_string(), 'DISTINCT Any WHERE X is CWUser')
- #rqlst = rset.syntax_tree()
self.assertEqual(f.possible_values(), ['admin',])
# ensure rqlst is left unmodified
self.assertEqual(rqlst.as_string(), 'DISTINCT Any WHERE X is CWUser')
@@ -241,6 +248,16 @@
self.assertEqual(f.select.as_string(),
"DISTINCT Any WHERE X is CWUser, X created_by G, G owned_by H, H login 'admin'")
+ def test_rql_path_check_filter_label_variable(self):
+ req, rset, rqlst, filtered_variable = self.prepareg_aggregat_rqlst()
+ class RPF(facet.RQLPathFacet):
+ path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
+ filter_variable = 'OL'
+ label_variable = 'OL'
+ self.assertRaises(AssertionError, RPF, req, rset=rset,
+ select=rqlst.children[0],
+ filtered_variable=filtered_variable)
+
def prepareg_aggregat_rqlst(self):
return self.prepare_rqlst(
'Any 1, COUNT(X) WHERE X is CWUser, X creation_date XD, '
@@ -265,11 +282,11 @@
def test_aggregat_query_rql_path(self):
req, rset, rqlst, filtered_variable = self.prepareg_aggregat_rqlst()
- facet.RQLPathFacet.path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
- f = facet.RQLPathFacet(req, rset=rset,
- select=rqlst.children[0],
- filtered_variable=filtered_variable)
- f.filter_variable = 'OL'
+ class RPF(facet.RQLPathFacet):
+ path = [('X created_by U'), ('U owned_by O'), ('O login OL')]
+ filter_variable = 'OL'
+ f = RPF(req, rset=rset, select=rqlst.children[0],
+ filtered_variable=filtered_variable)
self.assertEqual(f.vocabulary(), [(u'admin', u'admin')])
self.assertEqual(f.possible_values(), ['admin'])
req.form[f.__regid__] = 'admin'