Documentation Standardisation & Unit Test Stabilization

- Overhauled README.md to serve as a unified system index and WIP tracker.
- Standardized documentation filenames (ARCH__, GUIDE__, PLAN__) for better discoverability.
- Archived completed project plans and scopes.
- Fixed regressions in unit tests (errors, models, email) caused by V3 architectural updates.
- Ensured unit tests remain non-destructive and environment-independent via mocking.
This commit is contained in:
Scott Idem
2026-01-28 12:15:01 -05:00
parent 3eaf176b05
commit 860cf80a4e
17 changed files with 118 additions and 28 deletions

View File

@@ -7,6 +7,13 @@ from unittest.mock import MagicMock, patch
# Add current directory to path
sys.path.append(os.getcwd())
# Mock app.config BEFORE imports
mock_config = MagicMock()
mock_settings = MagicMock()
mock_settings.SMTP = {}
mock_config.settings = mock_settings
sys.modules['app.config'] = mock_config
# Mock html2text before importing app.lib_email
sys.modules['html2text'] = MagicMock()
@@ -19,12 +26,7 @@ from app.config import settings
class TestEmail(unittest.TestCase):
def test_send_email_missing_settings(self):
print("\nTesting send_email with missing SMTP settings...")
# Backup original settings
original_smtp = getattr(settings, 'SMTP', {})
# Clear settings
settings.SMTP = {}
# settings is already mocked to have an empty SMTP dict
result = send_email(
from_email="test@example.com",
to_email="test@example.com",
@@ -33,15 +35,11 @@ class TestEmail(unittest.TestCase):
test=True
)
# Restore settings
settings.SMTP = original_smtp
print(f"Result (should be False): {result}")
self.assertFalse(result)
def test_send_email_invalid_port(self):
print("\nTesting send_email with invalid port...")
original_smtp = getattr(settings, 'SMTP', {})
settings.SMTP = {
'server': 'smtp.example.com',
@@ -58,10 +56,8 @@ class TestEmail(unittest.TestCase):
test=True
)
settings.SMTP = original_smtp
print(f"Result (should be False): {result}")
self.assertFalse(result)
if __name__ == "__main__":
unittest.main()
unittest.main()