|
| 1 | +# -*- coding: utf-8 -*- |
1 | 2 | from unittest import TestCase |
2 | 3 |
|
3 | 4 | from mock import patch, MagicMock |
@@ -52,3 +53,36 @@ def test_get_burger_menu_model__with_supported_language__should_return_documents |
52 | 53 | self.assertIsNot(len(burger_menu_model.documents), 0) |
53 | 54 | for document in burger_menu_model.documents: |
54 | 55 | self.assertEquals(document.document_link.language, SupportedLanguage.GERMAN) |
| 56 | + |
| 57 | + @patch('octoprint_mrbeam.services.burger_menu_service.MrBeamDocUtils.get_mrbeam_definitions_for') |
| 58 | + @patch('octoprint_mrbeam.services.document_service.gettext') |
| 59 | + @patch('octoprint_mrbeam.services.burger_menu_service.get_locale') |
| 60 | + def test_get_burger_menu_model__with_unicode_translation__should_work(self, get_locale_mock, get_text_mock, |
| 61 | + get_mrbeam_definitions_for_mock): |
| 62 | + get_locale_mock.return_value = MagicMock(language='es') |
| 63 | + get_text_mock.return_value = u'Guía de usuário äëïöü l\'ecole très Garçon sûr' |
| 64 | + MOCK_DEFINITION = MrBeamDocDefinition(MrBeamDocType.USER_MANUAL, MrBeamModel.MRBEAM2, |
| 65 | + [SupportedLanguage.ENGLISH, SupportedLanguage.SPANISH]) |
| 66 | + get_mrbeam_definitions_for_mock.return_value = [MOCK_DEFINITION] |
| 67 | + burger_menu_model = self._burger_menu_service.get_burger_menu_model(MrBeamModel.MRBEAM2.value) |
| 68 | + self.assertIsNot(len(burger_menu_model.documents), 0) |
| 69 | + for document in burger_menu_model.documents: |
| 70 | + self.assertEquals(document.document_link.language, SupportedLanguage.SPANISH) |
| 71 | + |
| 72 | + @patch('octoprint_mrbeam.services.burger_menu_service.MrBeamDocUtils.get_mrbeam_definitions_for') |
| 73 | + @patch('octoprint_mrbeam.services.document_service.gettext') |
| 74 | + @patch('octoprint_mrbeam.services.burger_menu_service.get_locale') |
| 75 | + def test_get_burger_menu_model__with_null_translation__should_not_crash_and_return_title_as_None(self, |
| 76 | + get_locale_mock, |
| 77 | + get_text_mock, |
| 78 | + get_mrbeam_definitions_for_mock): |
| 79 | + get_locale_mock.return_value = MagicMock(language='es') |
| 80 | + get_text_mock.return_value = None |
| 81 | + MOCK_DEFINITION = MrBeamDocDefinition(MrBeamDocType.USER_MANUAL, MrBeamModel.MRBEAM2, |
| 82 | + [SupportedLanguage.ENGLISH, SupportedLanguage.SPANISH]) |
| 83 | + get_mrbeam_definitions_for_mock.return_value = [MOCK_DEFINITION] |
| 84 | + burger_menu_model = self._burger_menu_service.get_burger_menu_model(MrBeamModel.MRBEAM2.value) |
| 85 | + self.assertIsNot(len(burger_menu_model.documents), 0) |
| 86 | + for document in burger_menu_model.documents: |
| 87 | + self.assertEquals(document.document_link.language, SupportedLanguage.SPANISH) |
| 88 | + self.assertEquals(document.title, None) |
0 commit comments