mirror of
https://github.com/SectorLabs/django-localized-fields.git
synced 2025-04-25 11:42:54 +03:00
Add basic tests for 'required' attribute
This commit is contained in:
parent
cff388cae3
commit
7d629c186d
@ -9,6 +9,7 @@ from localized_fields.forms import LocalizedFieldForm
|
|||||||
from localized_fields.value import LocalizedValue
|
from localized_fields.value import LocalizedValue
|
||||||
|
|
||||||
from .data import get_init_values
|
from .data import get_init_values
|
||||||
|
from .fake_model import get_fake_model
|
||||||
|
|
||||||
|
|
||||||
class LocalizedFieldTestCase(TestCase):
|
class LocalizedFieldTestCase(TestCase):
|
||||||
@ -156,3 +157,62 @@ class LocalizedFieldTestCase(TestCase):
|
|||||||
LocalizedField().formfield(),
|
LocalizedField().formfield(),
|
||||||
LocalizedFieldForm
|
LocalizedFieldForm
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_required_all(self):
|
||||||
|
"""Tests whether passing required=True properly validates
|
||||||
|
that all languages are filled in."""
|
||||||
|
|
||||||
|
model = get_fake_model(dict(
|
||||||
|
title=LocalizedField(required=True)
|
||||||
|
))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict(ro='romanian', nl='dutch'))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict(nl='dutch'))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict(random='random'))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict())
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=None)
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title='')
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=' ')
|
||||||
|
|
||||||
|
def test_required_some(self):
|
||||||
|
"""Tests whether passing an array to required,
|
||||||
|
properly validates whether the specified languages
|
||||||
|
are marked as required."""
|
||||||
|
|
||||||
|
model = get_fake_model(dict(
|
||||||
|
title=LocalizedField(required=['nl', 'ro'])
|
||||||
|
))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict(ro='romanian', nl='dutch'))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict(nl='dutch'))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict(random='random'))
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=dict())
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=None)
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title='')
|
||||||
|
|
||||||
|
with self.assertRaises(IntegrityError):
|
||||||
|
model.objects.create(title=' ')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user