mirror of
https://github.com/SectorLabs/django-localized-fields.git
synced 2025-04-24 19:32:53 +03:00
Add tests for 'required' attribute
This commit is contained in:
parent
c4bf151938
commit
33e9709373
@ -15,6 +15,25 @@ from .fake_model import get_fake_model
|
||||
class LocalizedFieldTestCase(TestCase):
|
||||
"""Tests the :see:LocalizedField class."""
|
||||
|
||||
@staticmethod
|
||||
def test_init():
|
||||
"""Tests whether the :see:__init__ function
|
||||
correctly handles parameters"""
|
||||
|
||||
field = LocalizedField(blank=True)
|
||||
assert field.required == []
|
||||
|
||||
field = LocalizedField(blank=False)
|
||||
assert field.required == [settings.LANGUAGE_CODE]
|
||||
|
||||
field = LocalizedField(required=True)
|
||||
assert field.required == [lang_code for lang_code, _ in
|
||||
settings.LANGUAGES]
|
||||
|
||||
field = LocalizedField(required=False)
|
||||
assert field.required == []
|
||||
|
||||
|
||||
@staticmethod
|
||||
def test_from_db_value():
|
||||
"""Tests whether the :see:from_db_value function
|
||||
@ -158,6 +177,34 @@ class LocalizedFieldTestCase(TestCase):
|
||||
LocalizedFieldForm
|
||||
)
|
||||
|
||||
# case optional filling
|
||||
field = LocalizedField(blank=True, required=[])
|
||||
assert not field.formfield().required
|
||||
for field in field.formfield().fields:
|
||||
assert not field.required
|
||||
|
||||
# case required for any language
|
||||
field = LocalizedField(blank=False, required=[])
|
||||
assert field.formfield().required
|
||||
for field in field.formfield().fields:
|
||||
assert not field.required
|
||||
|
||||
# case required for specific languages
|
||||
required_langs = ['ro', 'nl']
|
||||
field = LocalizedField(blank=False, required=required_langs)
|
||||
assert field.formfield().required
|
||||
for field in field.formfield().fields:
|
||||
if field.label in required_langs:
|
||||
assert field.required
|
||||
else:
|
||||
assert not field.required
|
||||
|
||||
# case required for all languages
|
||||
field = LocalizedField(blank=False, required=True)
|
||||
assert field.formfield().required
|
||||
for field in field.formfield().fields:
|
||||
assert field.required
|
||||
|
||||
def test_required_all(self):
|
||||
"""Tests whether passing required=True properly validates
|
||||
that all languages are filled in."""
|
||||
|
@ -11,8 +11,8 @@ class LocalizedFieldFormTestCase(TestCase):
|
||||
def test_init():
|
||||
"""Tests whether the constructor correctly
|
||||
creates a field for every language."""
|
||||
|
||||
form = LocalizedFieldForm(required_langs=[settings.LANGUAGE_CODE])
|
||||
# case required for specific language
|
||||
form = LocalizedFieldForm(required=[settings.LANGUAGE_CODE])
|
||||
|
||||
for (lang_code, _), field in zip(settings.LANGUAGES, form.fields):
|
||||
assert field.label == lang_code
|
||||
@ -22,6 +22,25 @@ class LocalizedFieldFormTestCase(TestCase):
|
||||
else:
|
||||
assert not field.required
|
||||
|
||||
# case required for all languages
|
||||
form = LocalizedFieldForm(required=True)
|
||||
assert form.required
|
||||
for field in form.fields:
|
||||
assert field.required
|
||||
|
||||
# case optional filling
|
||||
form = LocalizedFieldForm(required=False)
|
||||
assert not form.required
|
||||
for field in form.fields:
|
||||
assert not field.required
|
||||
|
||||
# case required for any language
|
||||
form = LocalizedFieldForm(required=[])
|
||||
assert form.required
|
||||
for field in form.fields:
|
||||
assert not field.required
|
||||
|
||||
|
||||
@staticmethod
|
||||
def test_compress():
|
||||
"""Tests whether the :see:compress function
|
||||
|
Loading…
x
Reference in New Issue
Block a user