54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
import pytest
|
|
from src.models.data_structures import Author, Commit
|
|
from datetime import datetime
|
|
|
|
|
|
@pytest.fixture
|
|
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", "tests/test_new_feature.py"],
|
|
is_merge=False,
|
|
is_revert=False,
|
|
)
|
|
|
|
|
|
@pytest.fixture
|
|
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,
|
|
)
|
|
|
|
|
|
@pytest.fixture
|
|
def sample_commits():
|
|
"""Create a list of sample commits for testing."""
|
|
commits = []
|
|
for i in range(10):
|
|
commit = Commit(
|
|
sha=f"sha{i}123{i}",
|
|
message=f"Commit {i}",
|
|
author="Test User",
|
|
author_email="test@example.com",
|
|
timestamp=datetime(2024, 1, 15, 10 + i, 30, 0),
|
|
lines_added=10 * i,
|
|
lines_deleted=2 * i,
|
|
files_changed=[f"file{i}.py"],
|
|
is_merge=False,
|
|
is_revert=False,
|
|
)
|
|
commits.append(commit)
|
|
return commits
|