Files

134 lines
4.1 KiB
Python
Raw Permalink Normal View History

"""
Shared fixtures and configuration for tests
"""
import pytest
import os
from unittest.mock import Mock, MagicMock
from dotenv import load_dotenv
load_dotenv()
@pytest.fixture
def mock_anthropic_api_key():
"""Mock Anthropic API key for testing"""
return "test-api-key-12345"
@pytest.fixture
def sample_transcription_dict():
"""Sample transcription dictionary for testing"""
return {
"sentences": [
{
"text": "Hello, welcome to the meeting.",
"start": 0.5,
"end": 3.2,
"speaker": "Speaker_A",
"words": [
{"word": "Hello", "start": 0.5, "end": 0.8},
{"word": "welcome", "start": 0.9, "end": 1.3},
{"word": "to", "start": 1.4, "end": 1.5},
{"word": "the", "start": 1.6, "end": 1.7},
{"word": "meeting", "start": 1.8, "end": 2.3}
]
},
{
"text": "Let's discuss the project timeline.",
"start": 4.0,
"end": 7.5,
"speaker": "Speaker_B",
"words": [
{"word": "Let's", "start": 4.0, "end": 4.3},
{"word": "discuss", "start": 4.4, "end": 5.0},
{"word": "the", "start": 5.1, "end": 5.2},
{"word": "project", "start": 5.3, "end": 5.8},
{"word": "timeline", "start": 5.9, "end": 6.5}
]
}
]
}
@pytest.fixture
def sample_basic_summary_response():
"""Sample basic summary response (freemium plan)"""
return {
"Key_Points": [
{"text": "Team discussed project timeline.", "timestamp": 4.0},
{"text": "Meeting started with introductions.", "timestamp": 0.5}
],
"Summary": {
"text": "Brief meeting to discuss project timeline and introductions.",
"duration_minutes": 7.5
}
}
@pytest.fixture
def sample_advanced_summary_response():
"""Sample advanced summary response (pro plan)"""
return {
"Purpose": {
"text": "Discuss project timeline and team introductions."
},
"Chapters": {
"minutes_total": 0.125,
"content": [
{
"chapter": "Introduction",
"time_stamp": {"start": 0.5, "end": 3.2},
"content": [
{
"text": "- Welcome to the meeting.",
"original_transcript_start": 0.5,
"original_transcript_end": 3.2
}
],
"words_time_stamp": [
{"word": "Introduction", "timestamp": 0.5}
]
}
]
},
"Outcomes": {
"minutes_total": 0.125,
"content": [
{
"text": "Project timeline discussed.",
"time_stamp": {"start": 4.0, "end": 7.5},
"words_time_stamp": [
{"word": "Project", "timestamp": 4.0},
{"word": "timeline", "timestamp": 4.0}
]
}
]
},
"Action_Items_Per_User": [
{
"speaker": "Speaker_B",
"minutes_total": 0.125,
"action_items": [
{
"text": "Review project timeline.",
"time_stamp": {"start": 4.0, "end": 7.5},
"words_time_stamp": [
{"word": "Review", "timestamp": 4.0}
]
}
]
}
]
}
@pytest.fixture
def sample_template():
"""Sample custom template"""
return {
"Key_Points": "Summarize the most critical discussion points from the meeting.",
"Summary": "Provide a brief overall summary of what was discussed.",
"Next_Steps": "List the next steps decided during the meeting."
}