"""Tests for diarization service data structures and payload conversion.""" from voice_to_notes.services.diarize import ( DiarizationResult, SpeakerSegment, diarization_to_payload, ) def test_diarization_to_payload(): result = DiarizationResult( speaker_segments=[ SpeakerSegment(speaker="SPEAKER_00", start_ms=0, end_ms=5000), SpeakerSegment(speaker="SPEAKER_01", start_ms=5000, end_ms=10000), SpeakerSegment(speaker="SPEAKER_00", start_ms=10000, end_ms=15000), ], num_speakers=2, speakers=["SPEAKER_00", "SPEAKER_01"], ) payload = diarization_to_payload(result) assert payload["num_speakers"] == 2 assert len(payload["speaker_segments"]) == 3 assert payload["speakers"] == ["SPEAKER_00", "SPEAKER_01"] assert payload["speaker_segments"][0]["speaker"] == "SPEAKER_00" assert payload["speaker_segments"][1]["start_ms"] == 5000 def test_diarization_to_payload_empty(): result = DiarizationResult() payload = diarization_to_payload(result) assert payload["num_speakers"] == 0 assert payload["speaker_segments"] == [] assert payload["speakers"] == []