itsulu-blog-publisher/addons/itsulu_blog_publisher/tests
Nicholas Riegel a0d2ba5506 fix: resolve remaining 9 BDD failures + production empty-body bug
PRODUCTION BUG: _create_blog_post never wrote the LLM body into the post.
Every auto-generated post was published empty. Add 'content': body_html
(content is the Odoo 17 blog.post body field; body_arch was removed).

BDD step/feature fixes (active features/ dir, not the dead tests/features/):
- body_arch → content in step + feature + given_published_blog_post
- then_non_empty_response: result.text → result.body_html (LLMResponse attr)
- llm_provider_selection feature: "provider not configured" → "not configured"
  (matches LLMRouter.__init__ message; the generate() fallback never fires)
- then_tokens_used_recorded: assert on result.tokens_used (router returns a
  response, it does not persist a log — that is the schedule's job)
- when_llm_router_called: configure the provider-under-test's own credential
  (Background only sets the Anthropic key, so openai/gemini bailed early)
- fails-gracefully: invalid key now drives mock side_effect=UserError so
  run_generation records an error log and creates no post

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 03:11:28 -04:00
..
features feat: add BDD feature files for pytest-bdd scenarios 2026-05-30 00:39:41 -04:00
__init__.py Implement LLMRouter and provider infrastructure for GREEN phase tests 2026-05-29 12:27:58 -04:00
factories.py fix: use sudo() in blog_post factory to bypass validation 2026-05-29 23:25:17 -04:00
test_bdd_steps.py fix: resolve remaining 9 BDD failures + production empty-body bug 2026-05-30 03:11:28 -04:00
test_blog_generation_log.py Reorganize codebase into Odoo addon structure per ARCHITECTURE.md 2026-05-29 12:11:42 -04:00
test_blog_post_social.py fix: use _render_field() for template rendering; fix wizard import name 2026-05-30 02:53:57 -04:00
test_blog_schedule.py fix: replace cr.commit() with flush_all() for test compatibility and fix mock assertion 2026-05-30 00:19:29 -04:00
test_blog_topic.py test: fix test framework compatibility for ValidationError assertion 2026-05-29 23:12:32 -04:00
test_llm_router.py fix: update test_llm_router to use topic parameter and valid JSON mocks 2026-05-30 00:27:48 -04:00
test_performance.py fix: resolve 18 test failures across BDD, email, and performance tests 2026-05-30 02:33:48 -04:00