2019-10-19 12:44:41 +03:00

48 lines
1.4 KiB
Python

from django.test import TestCase
from localized_fields.fields import LocalizedField
from localized_fields.value import LocalizedValue
from .fake_model import get_fake_model
class LocalizedModelTestCase(TestCase):
"""Tests whether the :see:LocalizedModel class."""
TestModel = None
@classmethod
def setUpClass(cls):
"""Creates the test model in the database."""
super(LocalizedModelTestCase, cls).setUpClass()
cls.TestModel = get_fake_model({"title": LocalizedField()})
@classmethod
def test_defaults(cls):
"""Tests whether all :see:LocalizedField fields are assigned an empty
:see:LocalizedValue instance when the model is instanitiated."""
obj = cls.TestModel()
assert isinstance(obj.title, LocalizedValue)
@classmethod
def test_model_init_kwargs(cls):
"""Tests whether all :see:LocalizedField fields are assigned an empty
:see:LocalizedValue instance when the model is instanitiated."""
data = {
"title": {
"en": "english_title",
"ro": "romanian_title",
"nl": "dutch_title",
}
}
obj = cls.TestModel(**data)
assert isinstance(obj.title, LocalizedValue)
assert obj.title.en == "english_title"
assert obj.title.ro == "romanian_title"
assert obj.title.nl == "dutch_title"