"""Tests for transcription service.""" from voice_to_notes.services.transcribe import ( SegmentResult, TranscriptionResult, WordResult, result_to_payload, ) def test_result_to_payload(): """Test converting TranscriptionResult to IPC payload.""" result = TranscriptionResult( segments=[ SegmentResult( text="hello world", start_ms=0, end_ms=2000, words=[ WordResult(word="hello", start_ms=0, end_ms=500, confidence=0.95), WordResult(word="world", start_ms=600, end_ms=2000, confidence=0.92), ], ), ], language="en", language_probability=0.98, duration_ms=2000, ) payload = result_to_payload(result) assert payload["language"] == "en" assert payload["duration_ms"] == 2000 assert len(payload["segments"]) == 1 seg = payload["segments"][0] assert seg["text"] == "hello world" assert seg["start_ms"] == 0 assert seg["end_ms"] == 2000 assert len(seg["words"]) == 2 assert seg["words"][0]["word"] == "hello" assert seg["words"][0]["confidence"] == 0.95 def test_result_to_payload_empty(): """Test empty transcription result.""" result = TranscriptionResult() payload = result_to_payload(result) assert payload["segments"] == [] assert payload["language"] == "" assert payload["duration_ms"] == 0