def test_bad_field_lookup(self, orm_models):
     query = Query("app.model", [QueryField("fa__count__bob")], [])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.path for f in bound_query.fields] == []
 def test_bad_fk_field_aggregate(self, orm_models):
     query = Query("app.model", [QueryField("tom__jones__yata")], [])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.path for f in bound_query.fields] == []
 def test_from_request_field_no_priority(self):
     q = Query.from_request("app.model", "fn+", [])
     assert q == Query("app.model", [QueryField("fn")], [])
 def test_from_request_field_pivoted(self):
     q = Query.from_request("app.model", "&fn", QueryDict(""))
     assert q == Query("app.model", [QueryField("fn", True)], [])
 def test_filter_calculated_field(self, orm_models):
     query = Query("app.model", [], [QueryFilter("fn", "equals", "fred")])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.path for f in bound_query.filters] == []
Beispiel #6
0
 def get_product_flat(*args, **kwargs):
     query = Query.from_request("core.Product", *args)
     bound_query = BoundQuery.bind(query, orm_models)
     data = get_results(req, bound_query, orm_models)
     return flatten_table(bound_query.fields, data["rows"])
 def test_from_request_filter_no_lookup(self):
     q = Query.from_request("app.model", "", QueryDict("joe=tom"))
     assert q == Query("app.model", [], [])
 def test_bad_filter(self, orm_models):
     query = Query("app.model", [], [QueryFilter("yata", "equals", "fred")])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.path for f in bound_query.filters] == []
 def test_from_request_with_missing(self):
     q = Query.from_request("app.model", ",,", QueryDict(""))
     assert q == Query("app.model", [], [])
 def test_from_request_filter_no_value(self):
     q = Query.from_request("app.model", "", QueryDict("joe__equals="))
     assert q == Query("app.model", [], [QueryFilter("joe", "equals", "")])
 def test_from_request_with_related_filter(self):
     q = Query.from_request("app.model", "",
                            QueryDict("bob__jones__equals=fred"))
     assert q == Query("app.model", [],
                       [QueryFilter("bob__jones", "equals", "fred")])
 def test_from_request_with_low_limit(self, query):
     q = Query.from_request("app.model", "fa+1,fd-0,fn",
                            QueryDict("limit=0&bob__equals=fred"))
     query.limit = 1
     assert q == query
 def test_from_request_duplicate_field(self, query):
     q = Query.from_request("app.model", "fa+1,fd-0,fn,&fa-2",
                            QueryDict("bob__equals=fred"))
     assert q == query
 def test_aggregate(self, orm_models):
     query = Query("app.model", [QueryField("tom__jones__count")], [])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.path
             for f in bound_query.fields] == [["tom", "jones", "count"]]
 def test_from_request_filter_bad_lookup(self):
     q = Query.from_request("app.model", "", QueryDict("joe__blah=123"))
     assert q == Query("app.model", [], [QueryFilter("joe", "blah", "123")])
 def test_piovt(self, orm_models):
     query = Query("app.model", [QueryField("tom__jones", pivoted=True)],
                   [])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.pivoted for f in bound_query.fields] == [True]
 def test_from_request_filter_no_name(self):
     q = Query.from_request("app.model", "", QueryDict("=123"))
     assert q == Query("app.model", [], [])
 def test_fk(self, orm_models):
     query = Query("app.model", [QueryField("tom")], [])
     bound_query = BoundQuery.bind(query, orm_models)
     assert [f.path for f in bound_query.fields] == []
 def test_from_request_field_no_name(self):
     q = Query.from_request("app.model", "+2", QueryDict(""))
     assert q == Query("app.model", [QueryField("", False, ASC, 2)], [])
Beispiel #20
0
 def helper(queries, *args, **kwargs):
     query = Query.from_request("core.Product", *args, **kwargs)
     bound_query = BoundQuery.bind(query, orm_models)
     with django_assert_num_queries(queries):
         data = get_results(req, bound_query, orm_models)
         return flatten_table(bound_query.fields, data["rows"])
 def test_from_request_field_bad_priority(self):
     q = Query.from_request("app.model", "fn+x", QueryDict(""))
     assert q == Query("app.model", [QueryField("fn")], [])
 def test_from_request(self, query):
     q = Query.from_request("app.model", "fa+1,fd-0,fn",
                            [("bob__equals", "fred")])
     assert q == query
 def test_from_request_with_low_limit(self, query):
     q = Query.from_request("app.model", "fa+1,fd-0,fn",
                            [("limit", "0"), ("bob__equals", "fred")])
     query.limit = 1
     assert q == query