Add extra tests for LocalizedRef

This commit is contained in:
Swen Kooij 2017-05-30 13:45:43 +03:00
parent 06f7ee15f0
commit 2741a6a2a2

View File

@ -48,18 +48,32 @@ class LocalizedExpressionsTestCase(TestCase):
other=obj other=obj
) )
for lang_code, _ in settings.LANGUAGES: def create_queryset(ref):
translation.activate(lang_code) return (
queryset = (
cls.TestModel1.objects cls.TestModel1.objects
.annotate( .annotate(mytexts=ref)
mytexts=LocalizedRef('features__text') .values_list('mytexts', flat=True)
)
.values_list(
'mytexts', flat=True
)
) )
# assert that it properly selects the currently active language
for lang_code, _ in settings.LANGUAGES:
translation.activate(lang_code)
queryset = create_queryset(LocalizedRef('features__text'))
for index, value in enumerate(queryset): for index, value in enumerate(queryset):
assert translation.get_language() in value
assert str(index) in value assert str(index) in value
# ensure that the default language is used in case no
# language is active at all
translation.deactivate_all()
queryset = create_queryset(LocalizedRef('features__text'))
for index, value in enumerate(queryset):
assert settings.LANGUAGE_CODE in value
assert str(index) in value
# ensures that overriding the language works properly
queryset = create_queryset(LocalizedRef('features__text', 'ro'))
for index, value in enumerate(queryset):
assert 'ro' in value
assert str(index) in value