diff --git a/tests/conftest.py b/tests/conftest.py index 36f9eef..908eb69 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,53 +1,32 @@ import pytest +from src.models.data_structures import Author, Commit from datetime import datetime -from unittest.mock import MagicMock, patch @pytest.fixture -def mock_commit(): - """Create a mock commit object.""" - commit = MagicMock() - commit.sha = "abc123" - commit.message = "Test commit" - commit.author_name = "John Doe" - commit.author_email = "john@test.com" - commit.committed_datetime = datetime(2024, 1, 15, 10, 30, 0) - commit.author_datetime = datetime(2024, 1, 15, 10, 30, 0) - commit.additions = 50 - commit.deletions = 10 - commit.files_changed = ["src/main.py", "tests/test.py"] - commit.parents = [] - commit.is_merge = False - commit.is_revert = False - commit.lines_changed_count = 60 - return commit +def sample_commit(): + """Create a sample commit for testing.""" + return Commit( + sha="abc123def456", + message="Add new feature", + author="Test User", + author_email="test@example.com", + timestamp=datetime(2024, 1, 15, 10, 30, 0), + lines_added=50, + lines_deleted=10, + files_changed=["src/new_feature.py"], + is_merge=False, + is_revert=False, + ) @pytest.fixture -def mock_repo(): - """Create a mock git repository.""" - repo = MagicMock() - return repo - - -@pytest.fixture -def sample_commits(): - """Create a list of sample commits.""" - commits = [] - for i in range(10): - commit = MagicMock() - commit.sha = f"sha{i}" - commit.message = f"Commit {i}" - commit.author_name = "John Doe" - commit.author_email = "john@test.com" - commit.committed_datetime = datetime(2024, 1, i + 1, 10, 0, 0) - commit.author_datetime = datetime(2024, 1, i + 1, 10, 0, 0) - commit.additions = 10 * i - commit.deletions = 5 * i - commit.files_changed = [f"src/file{i}.py"] - commit.parents = [] - commit.is_merge = False - commit.is_revert = False - commit.lines_changed_count = 15 * i - commits.append(commit) - return commits +def sample_author(): + """Create a sample author for testing.""" + return Author( + name="Test User", + email="test@example.com", + commit_count=42, + lines_added=5000, + lines_deleted=1000, + )