def test_querystring_from_order_by_without_key(self, registry_blok):
     registry = registry_blok
     request = MockRequest(self)
     model = registry.System.Blok
     query = model.query()
     key = None
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     qs.from_order_by(query)
     assert len(request.errors.messages) == 1
 def test_querystring_from_order_by_ok(self, registry_blok):
     registry = registry_blok
     request = MockRequest(self)
     model = registry.System.Blok
     query = model.query()
     key = 'name'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     Q = qs.from_order_by(query)
     assert Q.all().name == query.order_by(model.name.asc()).all().name
示例#3
0
 def test_querystring_from_order_by_without_key(self):
     registry = self.init_registry(None)
     request = MockRequest(self)
     model = registry.System.Blok
     query = model.query()
     key = None
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     qs.from_order_by(query)
     self.assertEqual(len(request.errors.messages), 1)
 def test_querystring_from_order_by_ko_bad_op(self, registry_blok):
     registry = registry_blok
     request = MockRequest(self)
     model = registry.System.Blok
     query = model.query()
     key = 'name'
     op = 'unknown'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     qs.from_order_by(query)
     assert ("ORDER_by operator 'unknown' does not exist."
             in request.errors.messages)
 def test_querystring_from_order_by_ok(self):
     registry = self.init_registry(None)
     request = MockRequest(self)
     model = registry.System.Blok
     query = model.query()
     key = 'name'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     Q = qs.from_order_by(query)
     self.assertEqual(Q.all().name,
                      query.order_by(model.name.asc()).all().name)
 def test_querystring_from_order_by_bad_key(self, registry_blok):
     registry = registry_blok
     request = MockRequest(self)
     model = registry.System.Blok
     query = model.query()
     key = 'badkey'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     qs.from_order_by(query)
     assert ("Order 'badkey': 'badkey' does not exist in model "
             "<class 'anyblok.model.factory.ModelSystemBlok'>."
             in request.errors.messages)
 def test_querystring_from_order_by_bad_key_relationship(self):
     registry = self.init_registry(add_many2one_class)
     request = MockRequest(self)
     model = registry.Test2
     query = model.query()
     key = 'test.badkey'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     qs.from_order_by(query)
     self.assertIn(
         "Order 'test.badkey': 'badkey' does not exist in model "
         "<class 'anyblok.model.ModelTest'>.", request.errors.messages)
 def test_querystring_from_order_by_bad_key_relationship(
         self, registry_blok_with_m2o):
     registry = registry_blok_with_m2o
     request = MockRequest(self)
     model = registry.Test2
     query = model.query()
     key = 'test.badkey'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     qs.from_order_by(query)
     assert ("Order 'test.badkey': 'badkey' does not exist in model "
             "<class 'anyblok.model.factory.ModelTest'>."
             in request.errors.messages)
 def test_querystring_from_order_by_ok_with_relationship(self):
     registry = self.init_registry(add_many2one_class)
     request = MockRequest(self)
     model = registry.Test2
     query = model.query()
     key = 'test.name'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     Q = qs.from_order_by(query)
     t1 = registry.Test(name='test')
     t2 = registry.Test(name='other')
     model.insert(test=t1)
     model.insert(test=t2)
     model.insert(test=t2)
     model.insert(test=t1)
     query = query.join(registry.Test2.test)
     query = query.order_by(registry.Test.name.asc())
     self.assertEqual(Q.all(), query.all())
 def test_querystring_from_order_by_ok_with_relationship(
         self, registry_blok_with_m2o):
     registry = registry_blok_with_m2o
     request = MockRequest(self)
     model = registry.Test2
     query = model.query()
     key = 'test.name'
     op = 'asc'
     qs = QueryString(request, model)
     qs.order_by = [dict(key=key, op=op)]
     Q = qs.from_order_by(query)
     t1 = registry.Test(name='test')
     t2 = registry.Test(name='other')
     model.insert(test=t1)
     model.insert(test=t2)
     model.insert(test=t2)
     model.insert(test=t1)
     query = query.join(registry.Test2.test)
     query = query.order_by(registry.Test.name.asc())
     assert Q.all() == query.all()