mirror of
				https://github.com/SectorLabs/django-localized-fields.git
				synced 2025-10-31 02:48:56 +03:00 
			
		
		
		
	Add basic tests for 'required' attribute
This commit is contained in:
		| @@ -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='         ') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user