Skip to content

Commit

Permalink
Some number fields tests
Browse files Browse the repository at this point in the history
  • Loading branch information
insspb committed Aug 12, 2022
1 parent 08b81ea commit a27e008
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
35 changes: 35 additions & 0 deletions tests/test_db_fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -1049,3 +1049,38 @@ def test__parent__init__method_included_in_init_chain(self, db, mocker):
base_init_spy.assert_called_once()
field_init_spy.assert_called_once()
mixin_init_spy.assert_called_once()


@pytest.mark.skipif(condition=wtforms_not_installed, reason="No WTF CI/CD chain")
@pytest.mark.parametrize(
"NumberClass",
[
db_fields.FloatField,
db_fields.IntField,
db_fields.DecimalField,
],
)
class TestNumberFieldCommons:
@pytest.mark.parametrize(
["min_", "max_", "validator_min", "validator_max"],
[
[None, 3, None, 3],
[None, -3, None, -3],
[3, None, 3, None],
[-3, None, -3, None],
[-1, -3, -1, -3],
[3, 5, 3, 5],
],
)
def test__init__method__set_number_range_validator__if_range_given(
self, NumberClass, min_, max_, validator_min, validator_max
):
field = NumberClass(min_value=min_, max_value=max_)
validator = [
val
for val in field.wtf_field_options["validators"]
if val.__class__ is wtf_validators_.NumberRange
][0]
assert validator is not None
assert validator.min == validator_min
assert validator.max == validator_max
7 changes: 7 additions & 0 deletions tests/test_forms_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

wtforms = pytest.importorskip("wtforms")
from wtforms import fields as wtf_fields # noqa
from wtforms import widgets as wtf_widgets # noqa

from flask_mongoengine.wtf import fields as mongo_fields # noqa

Expand Down Expand Up @@ -284,3 +285,9 @@ def test_url_field_mro_not_changed(self):
wtf_fields.URLField,
wtf_fields.StringField,
]


class TestMongoFloatField:
def test_ensure_widget_not_accidentally_replaced(self):
field = mongo_fields.MongoFloatField
assert isinstance(field.widget, wtf_widgets.NumberInput)

0 comments on commit a27e008

Please sign in to comment.