Patchwork (used by Brain Monkey) requires it be loaded before any function it
may need to redefine. Defining current_time() in bootstrap triggers
DefinedTooEarly exceptions across the suite. Will mock via
Functions\when() in BaseTestCase::setUp instead.
Agent-Session: cowork-ci-parity-20260414
class-logger.php::log() calls current_time() which Brain Monkey does not
stub by default. Rather than adding per-test mocks across 9 failing tests,
define a global current_time() in bootstrap that returns a sensible value.
Agent-Session: cowork-ci-parity-20260414
Publisher, ChiefEditor, Activator, and settings UI reference these
constants, which are defined in the main plugin file (prautoblogger.php).
Unit tests load tests/bootstrap.php but not the main plugin, so these
constants were undefined — causing 9 test errors.
Agent-Session: cowork-ci-parity-20260414
- bootstrap: add PRAUTOBLOGGER_MAX_RETRIES, API_TIMEOUT, RETRY_BASE_DELAY constants
- BaseTestCase: add wp_json_encode + home_url stubs, reset Logger singleton in tearDown
- CostTrackerTest: use openai/gpt-4o (in MODEL_PRICING), fix log_api_call args,
allow multiple wpdb inserts (Logger may also insert event_log rows)
- OpenRouterPricingTest: add wpdb mock with prefix for Logger access on unknown models
- OpenRouterProviderTest: test send_chat_completion throws RuntimeException when
no API key is configured (matches actual guard clause behavior)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All 14 test files updated to use correct constructor patterns (array-based
value objects, dependency injection for ContentAnalyzer, etc.) and verified
method names against source.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
WordPress plugin that auto-researches topics from Reddit, generates
SEO-optimized articles via OpenRouter LLMs, runs them through a chief
editor agent, and publishes on a daily schedule.
Includes:
- Full generation pipeline (collect → analyze → score → generate → review → publish)
- Cost tracking and budget enforcement
- Admin UI: settings, review queue, metrics, activity log
- CI/CD pipeline (GitHub Actions → WordPress REST deploy)
- Unit test suite (PHPUnit + Brain Monkey)
- Structured logging with configurable verbosity
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>