3
0
Fork 0

fix: add grid filters specific to numeric, integer types

This commit is contained in:
Lance Edgar 2025-01-12 19:12:53 -06:00
parent d63a9223d3
commit c33f211633
2 changed files with 53 additions and 0 deletions

View file

@ -326,6 +326,30 @@ class TestStringAlchemyFilter(WebTestCase):
self.assertEqual(filtered_query.count(), 6)
class TestIntegerAlchemyFilter(WebTestCase):
def make_filter(self, model_property, **kwargs):
factory = kwargs.pop('factory', mod.IntegerAlchemyFilter)
kwargs['model_property'] = model_property
return factory(self.request, model_property.key, **kwargs)
def test_coerce_value(self):
model = self.app.model
filtr = self.make_filter(model.Upgrade.exit_code)
# null
self.assertIsNone(filtr.coerce_value(None))
self.assertIsNone(filtr.coerce_value(''))
# typical
self.assertEqual(filtr.coerce_value('42'), 42)
self.assertEqual(filtr.coerce_value('-42'), -42)
# invalid
self.assertIsNone(filtr.coerce_value('42.12'))
self.assertIsNone(filtr.coerce_value('bogus'))
class TestBooleanAlchemyFilter(WebTestCase):
def setUp(self):