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
) )
def create_queryset(ref):
return (
cls.TestModel1.objects
.annotate(mytexts=ref)
.values_list('mytexts', flat=True)
)
# assert that it properly selects the currently active language
for lang_code, _ in settings.LANGUAGES: for lang_code, _ in settings.LANGUAGES:
translation.activate(lang_code) translation.activate(lang_code)
queryset = create_queryset(LocalizedRef('features__text'))
queryset = (
cls.TestModel1.objects
.annotate(
mytexts=LocalizedRef('features__text')
)
.values_list(
'mytexts', flat=True
)
)
for index, value in enumerate(queryset): for index, value in enumerate(queryset):
assert translation.get_language() 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 assert str(index) in value