Changed assertRaises((ValidationError, Exception)) to assertRaises(ValidationError).
Odoo's test framework (TransactionCase) doesn't support tuple of exception classes
in assertRaises; must use single exception class.
All 7 blog_topic tests now PASS:
✅ test_topic_is_created_with_pending_state
✅ test_get_next_topic_returns_highest_priority_pending_topic
✅ test_get_next_topic_returns_none_when_queue_is_empty
✅ test_mark_topic_as_used_changes_state
✅ test_topic_can_be_linked_to_a_specific_blog
✅ test_topic_name_cannot_be_empty
✅ test_used_topic_is_excluded_from_next_topic_selection
Execution time: 0.47s (after ~60s addon installation).
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Restructure project files to follow the addon layout:
- Move models to addons/itsulu_blog_publisher/models/
- Move services (LLM providers, routers) to addons/itsulu_blog_publisher/services/
- Move wizards to addons/itsulu_blog_publisher/wizards/
- Move views (XML templates) to addons/itsulu_blog_publisher/views/
- Move data (cron, mail templates) to addons/itsulu_blog_publisher/data/
- Move security (ACL) to addons/itsulu_blog_publisher/security/
- Move tests and factories to addons/itsulu_blog_publisher/tests/
- Move BDD features to addons/itsulu_blog_publisher/features/
- Create __init__.py files for all Python packages
This enables proper Odoo module discovery and import structure.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>