Fix: Test failures after language support merge (#73)
* fix: Update tests to include language parameter - Add language to parse_arguments tests - Update mock expectations for SpeechRecognitionManager to include language - Fixes test failures after language support merge * fix: Update tests for language support and fix None argument handling - Fix test_parse_arguments_defaults to expect None for model/engine/language - Add language_combo mock to settings_dialog tests - Add language attribute to dialog mock setup - Include language in get_selected_settings mock return values - Update mock_config_manager to include language in return value
This commit is contained in:
+9
-3
@@ -15,12 +15,13 @@ class TestMainModule(unittest.TestCase):
|
||||
|
||||
def test_parse_arguments_defaults(self):
|
||||
"""Test argument parsing with defaults."""
|
||||
# Test with no arguments
|
||||
# Test with no arguments (model/engine/language will be None without defaults)
|
||||
with patch("sys.argv", ["vocalinux"]):
|
||||
args = parse_arguments()
|
||||
self.assertFalse(args.debug)
|
||||
self.assertEqual(args.model, "small")
|
||||
self.assertEqual(args.engine, "vosk")
|
||||
self.assertIsNone(args.model) # No default set, loaded from config instead
|
||||
self.assertIsNone(args.engine)
|
||||
self.assertIsNone(args.language)
|
||||
self.assertFalse(args.wayland)
|
||||
|
||||
def test_parse_arguments_custom(self):
|
||||
@@ -35,6 +36,8 @@ class TestMainModule(unittest.TestCase):
|
||||
"large",
|
||||
"--engine",
|
||||
"whisper",
|
||||
"--language",
|
||||
"fr",
|
||||
"--wayland",
|
||||
],
|
||||
):
|
||||
@@ -42,6 +45,7 @@ class TestMainModule(unittest.TestCase):
|
||||
self.assertTrue(args.debug)
|
||||
self.assertEqual(args.model, "large")
|
||||
self.assertEqual(args.engine, "whisper")
|
||||
self.assertEqual(args.language, "fr")
|
||||
self.assertTrue(args.wayland)
|
||||
|
||||
@patch("vocalinux.main.check_dependencies")
|
||||
@@ -88,6 +92,7 @@ class TestMainModule(unittest.TestCase):
|
||||
mock_args.debug = False
|
||||
mock_args.model = "medium"
|
||||
mock_args.engine = "vosk"
|
||||
mock_args.language = "en-us"
|
||||
mock_args.wayland = True
|
||||
mock_parse.return_value = mock_args
|
||||
|
||||
@@ -97,6 +102,7 @@ class TestMainModule(unittest.TestCase):
|
||||
# Verify components were initialized correctly
|
||||
mock_speech.assert_called_once_with(
|
||||
engine="vosk",
|
||||
language="en-us",
|
||||
model_size="medium",
|
||||
vad_sensitivity=3,
|
||||
silence_timeout=2.0,
|
||||
|
||||
@@ -34,6 +34,7 @@ mock_config_manager.get = Mock(
|
||||
return_value={
|
||||
"speech_recognition": {
|
||||
"engine": "vosk",
|
||||
"language": "en-us",
|
||||
"model_size": "small",
|
||||
"vad_sensitivity": 3,
|
||||
"silence_timeout": 2.0,
|
||||
@@ -68,6 +69,9 @@ class TestSettingsDialog(unittest.TestCase):
|
||||
self.silence_spin = Mock()
|
||||
self.silence_spin.get_value.return_value = 2.0
|
||||
|
||||
self.language_combo = Mock()
|
||||
self.language_combo.get_active_id.return_value = "en-us"
|
||||
|
||||
self.vosk_settings_box = Mock()
|
||||
self.vosk_settings_box.is_visible.return_value = True
|
||||
|
||||
@@ -92,6 +96,7 @@ class TestSettingsDialog(unittest.TestCase):
|
||||
self.dialog.model_combo = self.model_combo
|
||||
self.dialog.vad_spin = self.vad_spin
|
||||
self.dialog.silence_spin = self.silence_spin
|
||||
self.dialog.language_combo = self.language_combo
|
||||
self.dialog.vosk_settings_box = self.vosk_settings_box
|
||||
self.dialog.test_button = self.test_button
|
||||
self.dialog.test_textview = self.test_textview
|
||||
@@ -102,6 +107,7 @@ class TestSettingsDialog(unittest.TestCase):
|
||||
self.dialog.get_selected_settings = Mock(
|
||||
return_value={
|
||||
"engine": "vosk",
|
||||
"language": "en-us",
|
||||
"model_size": "small",
|
||||
"vad_sensitivity": 3,
|
||||
"silence_timeout": 2.0,
|
||||
@@ -118,6 +124,7 @@ class TestSettingsDialog(unittest.TestCase):
|
||||
# Add missing attributes for apply_settings
|
||||
self.dialog.current_model_size = "small"
|
||||
self.dialog.current_engine = "vosk"
|
||||
self.dialog.language = "en-us"
|
||||
self.dialog._populate_model_options = Mock()
|
||||
|
||||
def test_apply_settings_success(self):
|
||||
@@ -125,6 +132,7 @@ class TestSettingsDialog(unittest.TestCase):
|
||||
# Change the returned settings for this test
|
||||
self.dialog.get_selected_settings.return_value = {
|
||||
"engine": "vosk",
|
||||
"language": "en-us",
|
||||
"model_size": "large",
|
||||
"vad_sensitivity": 3,
|
||||
"silence_timeout": 2.0,
|
||||
|
||||
Reference in New Issue
Block a user