Files
MeshChatX/tests/backend/test_translator_handler.py
2026-01-05 11:47:35 -06:00

40 lines
1.3 KiB
Python

import unittest
from unittest.mock import MagicMock, patch
from meshchatx.src.backend.translator_handler import TranslatorHandler
class TestTranslatorHandler(unittest.TestCase):
def setUp(self):
self.handler = TranslatorHandler(enabled=True)
@patch("requests.get")
def test_get_supported_languages(self, mock_get):
self.handler.has_requests = True
mock_get.return_value = MagicMock(status_code=200)
mock_get.return_value.json.return_value = [
{"code": "en", "name": "English"},
{"code": "de", "name": "German"},
]
langs = self.handler.get_supported_languages()
self.assertEqual(len(langs), 2)
self.assertEqual(langs[0]["code"], "en")
@patch("requests.post")
def test_translate_text_libretranslate(self, mock_post):
self.handler.has_requests = True
mock_post.return_value = MagicMock(status_code=200)
mock_post.return_value.json.return_value = {
"translatedText": "Hallo",
"detectedLanguage": {"language": "en"},
}
result = self.handler.translate_text("Hello", "en", "de")
self.assertEqual(result["translated_text"], "Hallo")
self.assertEqual(result["source"], "libretranslate")
if __name__ == "__main__":
unittest.main()