feat: optimize and enhance IssueActivity class - Issue #126
Enhanced IssueActivity dataclass with convenient methods and properties: - Added activity_type_value, activity_type_display properties - Added formatted_date, formatted_datetime properties - Added truncated_details property for display - Added contains_keyword() and has_implementation_activity() methods - Added to_dict() method for clean serialization Simplified code across the codebase: - Reduced JSON serialization from 18 lines to 1 line (94% reduction) - Reduced implementation detection from 13 lines to 3 lines (77% reduction) - Improved table formatting using property access - Fixed test inconsistencies using proper IssueActivity objects - Removed complex helper code for dict/dataclass handling Benefits: - Single source of truth for all IssueActivity operations - Consistent interface across all usage patterns - Better encapsulation and maintainability - Enhanced code readability and reliability - All tests passing (1329/1329) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -82,10 +82,22 @@ class TestIssueWrapUpService:
|
||||
def test_review_requirements_with_activities(self, service):
|
||||
"""Test requirement review when issue has activities."""
|
||||
# Mock activity tracker to return some activities
|
||||
from markitect.issues.activity_tracker import IssueActivity, ActivityType
|
||||
|
||||
with patch.object(service.activity_tracker, 'get_issue_activities') as mock_activities:
|
||||
mock_activities.return_value = [
|
||||
{'activity_type': 'implementation', 'description': 'Implemented feature'},
|
||||
{'activity_type': 'test', 'description': 'Added tests'}
|
||||
IssueActivity(
|
||||
id=1,
|
||||
issue_id=123,
|
||||
activity_type=ActivityType.CREATED,
|
||||
activity_details='Implemented feature'
|
||||
),
|
||||
IssueActivity(
|
||||
id=2,
|
||||
issue_id=123,
|
||||
activity_type=ActivityType.MODIFIED,
|
||||
activity_details='Added tests'
|
||||
)
|
||||
]
|
||||
|
||||
result = service._review_requirements(123, {'title': 'Test Issue'}, False)
|
||||
|
||||
Reference in New Issue
Block a user