SuperClaude/tests/conftest.py
mithun50 b00547ad53 style: apply ruff formatting to all files
Formatted 14 files to comply with ruff formatting rules:
- Consistent code style across codebase
- Improved readability
- All formatting checks now pass

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 18:19:45 +01:00

117 lines
3.2 KiB
Python

"""
Pytest configuration and shared fixtures for SuperClaude tests
This file is automatically loaded by pytest and provides
shared fixtures available to all test modules.
"""
import pytest
@pytest.fixture
def sample_context():
"""
Provide a sample context for confidence checking tests
Returns:
Dict with test context including various checks
"""
return {
"test_name": "test_sample_feature",
"test_file": __file__,
"duplicate_check_complete": True,
"architecture_check_complete": True,
"official_docs_verified": True,
"oss_reference_complete": True,
"root_cause_identified": True,
"markers": ["unit", "confidence_check"],
}
@pytest.fixture
def low_confidence_context():
"""
Provide a context that should result in low confidence
Returns:
Dict with incomplete checks
"""
return {
"test_name": "test_unclear_feature",
"test_file": __file__,
"duplicate_check_complete": False,
"architecture_check_complete": False,
"official_docs_verified": False,
"oss_reference_complete": False,
"root_cause_identified": False,
"markers": ["unit"],
}
@pytest.fixture
def sample_implementation():
"""
Provide a sample implementation for self-check validation
Returns:
Dict with implementation details
"""
return {
"tests_passed": True,
"test_output": "✅ 5 tests passed in 0.42s",
"requirements": ["Feature A", "Feature B", "Feature C"],
"requirements_met": ["Feature A", "Feature B", "Feature C"],
"assumptions": ["API returns JSON", "Database is PostgreSQL"],
"assumptions_verified": ["API returns JSON", "Database is PostgreSQL"],
"evidence": {
"test_results": "✅ All tests passing",
"code_changes": ["file1.py", "file2.py"],
"validation": "Linting passed, type checking passed",
},
"status": "complete",
}
@pytest.fixture
def failing_implementation():
"""
Provide a failing implementation for self-check validation
Returns:
Dict with failing implementation details
"""
return {
"tests_passed": False,
"test_output": "",
"requirements": ["Feature A", "Feature B", "Feature C"],
"requirements_met": ["Feature A"],
"assumptions": ["API returns JSON", "Database is PostgreSQL"],
"assumptions_verified": ["API returns JSON"],
"evidence": {},
"status": "complete",
"errors": ["TypeError in module X"],
}
@pytest.fixture
def temp_memory_dir(tmp_path):
"""
Create temporary memory directory structure for PM Agent tests
Args:
tmp_path: pytest's temporary path fixture
Returns:
Path to temporary memory directory
"""
memory_dir = tmp_path / "docs" / "memory"
memory_dir.mkdir(parents=True)
# Create empty memory files
(memory_dir / "pm_context.md").write_text("# PM Context\n")
(memory_dir / "last_session.md").write_text("# Last Session\n")
(memory_dir / "next_actions.md").write_text("# Next Actions\n")
(memory_dir / "reflexion.jsonl").write_text("")
return memory_dir