from django.test import TestCase from localized_fields.fields import LocalizedField from .fake_model import get_fake_model class LocalizedQuerySetTestCase(TestCase): """Tests query sets with models containing :see:LocalizedField.""" Model = None @classmethod def setUpClass(cls): """Creates the test models in the database.""" super(LocalizedQuerySetTestCase, cls).setUpClass() cls.Model = get_fake_model({"title": LocalizedField()}) @classmethod def test_assign_raw_dict(cls): inst = cls.Model() inst.title = dict(en="Bread", ro="Paine") inst.save() inst = cls.Model.objects.get(pk=inst.pk) assert inst.title.en == "Bread" assert inst.title.ro == "Paine" @classmethod def test_assign_raw_dict_update(cls): inst = cls.Model.objects.create(title=dict(en="Bread", ro="Paine")) cls.Model.objects.update(title=dict(en="Beer", ro="Bere")) inst = cls.Model.objects.get(pk=inst.pk) assert inst.title.en == "Beer" assert inst.title.ro == "Bere"