示例#1
0
 def test_start_limit(self):
     dgeq = GenericQuery(Country, QueryDict())
     commands.Subset()(dgeq, "c:start", ["4"])
     commands.Subset()(dgeq, "c:limit", ["52"])
     rows = dgeq._evaluate()
     self.assertEqual(Country.objects.all()[4:56].count(), len(rows))
     self.assertEqual(Country.objects.all()[4:56][0].id, rows[0]["id"])
示例#2
0
 def test_sort_desc(self):
     values = ["-population"]
     dgeq = GenericQuery(Country, QueryDict())
     commands.Sort()(dgeq, "c:sort", values)
     rows = dgeq._evaluate()
     self.assertEqual(
         Country.objects.order_by("-population").first().id, rows[0]["id"])
示例#3
0
文件: test_dgeq.py 项目: qcoumes/dgeq
 def test__evaluate_no_related(self):
     dgeq = GenericQuery(Country, QueryDict())
     dgeq.fields = {"name", "population", "rivers", "region"}
     dgeq.arbitrary_fields = set()
     dgeq.queryset = Country.objects.all()
     dgeq.related = False
     rows = dgeq._evaluate()
     self.assertEqual(DGEQ_DEFAULT_LIMIT, len(rows))
示例#4
0
文件: test_dgeq.py 项目: qcoumes/dgeq
 def test__evaluate_each_field_type(self):
     dgeq = GenericQuery(Country, QueryDict())
     dgeq.fields = {
         "name", "population", "rivers", "region", "rivers_length_avg"
     }
     dgeq.arbitrary_fields = {"rivers_length_avg"}
     dgeq.queryset = Country.objects.all().annotate(
         rivers_length_avg=models.Avg("rivers__length"))
     rows = dgeq._evaluate()
     self.assertEqual(constants.DGEQ_DEFAULT_LIMIT, len(rows))
示例#5
0
文件: test_dgeq.py 项目: qcoumes/dgeq
    def test__evaluate_joins(self):
        dgeq = GenericQuery(Country, QueryDict())
        dgeq.fields = {"name", "population", "rivers", "region"}
        dgeq.arbitrary_fields = set()
        dgeq.queryset = Country.objects.all()

        j_rivers = JoinQuery.from_query_value("field=rivers", Country, False,
                                              self.censor)
        j_region = JoinQuery.from_query_value("field=region", Country, False,
                                              self.censor)
        dgeq.add_join("rivers", j_rivers, Country, self.censor)
        dgeq.add_join("region", j_region, Country, self.censor)

        rows = dgeq._evaluate()
        self.assertEqual(DGEQ_DEFAULT_LIMIT, len(rows))
示例#6
0
 def test_limit_gt_0(self):
     values = ["89"]
     dgeq = GenericQuery(Country, QueryDict())
     commands.Subset()(dgeq, "c:limit", values)
     rows = dgeq._evaluate()
     self.assertEqual(89, len(rows))
示例#7
0
 def test_limit_0(self):
     values = ["0"]
     dgeq = GenericQuery(Country, QueryDict())
     commands.Subset()(dgeq, "c:limit", values)
     rows = dgeq._evaluate()
     self.assertEqual(settings.DGEQ_MAX_LIMIT, len(rows))
示例#8
0
 def test_no_sort(self):
     dgeq = GenericQuery(Country, QueryDict())
     rows = dgeq._evaluate()
     self.assertEqual(Country.objects.first().id, rows[0]["id"])