Files
ds_microdot/tests/conftest.py
T

134 lines
4.1 KiB
Python
Raw 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."
}