refactor: use factory functions for hotkey and inserter in main
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+14
-14
@@ -7,20 +7,20 @@ from whisper_local.__main__ import App
|
||||
|
||||
|
||||
class TestApp:
|
||||
@patch("whisper_local.__main__.Inserter")
|
||||
@patch("whisper_local.__main__.Transcriber")
|
||||
@patch("whisper_local.__main__.HotkeyListener")
|
||||
def test_app_init(self, mock_hotkey_class, mock_transcriber_class, mock_inserter_class):
|
||||
@patch("whisper_local.__main__.create_listener")
|
||||
@patch("whisper_local.__main__.create_inserter")
|
||||
def test_app_init(self, mock_inserter_factory, mock_listener_factory, mock_transcriber_class):
|
||||
app = App()
|
||||
assert app.recorder is not None
|
||||
assert app.inserter is not None
|
||||
mock_transcriber_class.assert_called_once()
|
||||
mock_hotkey_class.assert_called_once()
|
||||
mock_listener_factory.assert_called_once()
|
||||
mock_inserter_factory.assert_called_once()
|
||||
|
||||
@patch("whisper_local.__main__.Inserter")
|
||||
@patch("whisper_local.__main__.Transcriber")
|
||||
@patch("whisper_local.__main__.HotkeyListener")
|
||||
def test_on_press_starts_recording(self, mock_hotkey_class, mock_transcriber_class, mock_inserter_class):
|
||||
@patch("whisper_local.__main__.create_listener")
|
||||
@patch("whisper_local.__main__.create_inserter")
|
||||
def test_on_press_starts_recording(self, mock_inserter_factory, mock_listener_factory, mock_transcriber_class):
|
||||
app = App()
|
||||
app.recorder = MagicMock()
|
||||
|
||||
@@ -29,10 +29,10 @@ class TestApp:
|
||||
|
||||
app.recorder.start.assert_called_once()
|
||||
|
||||
@patch("whisper_local.__main__.Inserter")
|
||||
@patch("whisper_local.__main__.Transcriber")
|
||||
@patch("whisper_local.__main__.HotkeyListener")
|
||||
def test_on_release_stops_and_transcribes(self, mock_hotkey_class, mock_transcriber_class, mock_inserter_class):
|
||||
@patch("whisper_local.__main__.create_listener")
|
||||
@patch("whisper_local.__main__.create_inserter")
|
||||
def test_on_release_stops_and_transcribes(self, mock_inserter_factory, mock_listener_factory, mock_transcriber_class):
|
||||
mock_transcriber = MagicMock()
|
||||
mock_transcriber.transcribe.return_value = "Hallo"
|
||||
mock_transcriber_class.return_value = mock_transcriber
|
||||
@@ -51,10 +51,10 @@ class TestApp:
|
||||
mock_transcriber.transcribe.assert_called_once_with(audio)
|
||||
app.inserter.insert.assert_awaited_once_with("Hallo")
|
||||
|
||||
@patch("whisper_local.__main__.Inserter")
|
||||
@patch("whisper_local.__main__.Transcriber")
|
||||
@patch("whisper_local.__main__.HotkeyListener")
|
||||
def test_on_release_no_audio_skips(self, mock_hotkey_class, mock_transcriber_class, mock_inserter_class):
|
||||
@patch("whisper_local.__main__.create_listener")
|
||||
@patch("whisper_local.__main__.create_inserter")
|
||||
def test_on_release_no_audio_skips(self, mock_inserter_factory, mock_listener_factory, mock_transcriber_class):
|
||||
mock_transcriber = MagicMock()
|
||||
mock_transcriber_class.return_value = mock_transcriber
|
||||
|
||||
|
||||
Reference in New Issue
Block a user