Added translation unittests
This commit is contained in:
67
unittests/unittests_translation/translation_test_case.py
Normal file
67
unittests/unittests_translation/translation_test_case.py
Normal file
@@ -0,0 +1,67 @@
|
||||
import os
|
||||
import unittest
|
||||
from typing import Optional
|
||||
|
||||
from cpl_translation import TranslationService, TranslatePipe, TranslationSettings
|
||||
from unittests_cli.constants import TRANSLATION_PATH
|
||||
|
||||
|
||||
class TranslationTestCase(unittest.TestCase):
|
||||
|
||||
def __init__(self, methodName: str):
|
||||
unittest.TestCase.__init__(self, methodName)
|
||||
self._translation: Optional[TranslationService] = None
|
||||
self._translate: Optional[TranslatePipe] = None
|
||||
|
||||
def setUp(self):
|
||||
os.chdir(os.path.abspath(TRANSLATION_PATH))
|
||||
self._translation = TranslationService()
|
||||
settings = TranslationSettings()
|
||||
settings.from_dict({
|
||||
"Languages": [
|
||||
"de",
|
||||
"en"
|
||||
],
|
||||
"DefaultLanguage": "en"
|
||||
})
|
||||
self._translation.load_by_settings(settings)
|
||||
self._translation.set_default_lang('de')
|
||||
self._translate = TranslatePipe(self._translation)
|
||||
|
||||
def cleanUp(self):
|
||||
pass
|
||||
|
||||
def test_service(self):
|
||||
self.assertEqual('Hallo Welt', self._translation.translate('main.text.hello_world'))
|
||||
self._translation.set_lang('en')
|
||||
self.assertEqual('Hello World', self._translation.translate('main.text.hello_world'))
|
||||
with self.assertRaises(KeyError) as ctx:
|
||||
self._translation.translate('main.text.hallo_welt')
|
||||
|
||||
self.assertTrue(type(ctx.exception) == KeyError)
|
||||
self.assertIn('Translation main.text.hallo_welt not found', str(ctx.exception))
|
||||
|
||||
with self.assertRaises(FileNotFoundError) as ctx:
|
||||
self._translation.load('DE')
|
||||
|
||||
self.assertTrue(type(ctx.exception) == FileNotFoundError)
|
||||
|
||||
with self.assertRaises(KeyError) as ctx:
|
||||
self._translation.set_lang('DE')
|
||||
|
||||
self.assertTrue(type(ctx.exception) == KeyError)
|
||||
|
||||
with self.assertRaises(KeyError) as ctx:
|
||||
self._translation.set_default_lang('DE')
|
||||
|
||||
self.assertTrue(type(ctx.exception) == KeyError)
|
||||
|
||||
def test_pipe(self):
|
||||
self.assertEqual('Hallo Welt', self._translate.transform('main.text.hello_world'))
|
||||
self._translation.set_lang('en')
|
||||
self.assertEqual('Hello World', self._translate.transform('main.text.hello_world'))
|
||||
with self.assertRaises(KeyError) as ctx:
|
||||
self._translation.translate('main.text.hallo_welt')
|
||||
|
||||
self.assertTrue(type(ctx.exception) == KeyError)
|
||||
self.assertIn('Translation main.text.hallo_welt not found', str(ctx.exception))
|
||||
Reference in New Issue
Block a user