Created 5 feature files covering blog generation, scheduling, LLM provider selection, SEO population, and notification emails. These files define the Gherkin scenarios that pytest-bdd will generate test functions for. - blog_generation.feature: On-demand generation with auto-publish toggle - blog_scheduling.feature: Scheduled cron slot execution - llm_provider_selection.feature: Provider dispatch and error handling - seo_population.feature: SEO metadata and tag assignment - notification_email.feature: Email notifications after generation Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
30 lines
1.3 KiB
Gherkin
30 lines
1.3 KiB
Gherkin
Feature: LLM provider selection
|
|
As a content system
|
|
I want to route LLM calls to different providers
|
|
So that I can use multiple AI services
|
|
|
|
Scenario Outline: Different providers can generate blog content
|
|
Given provider is "<provider>" and model is "<model>"
|
|
And the Anthropic API key is configured in Settings
|
|
When the LLM router is called with a prompt
|
|
Then returns a non-empty string response
|
|
And the generation log records the correct LLM provider
|
|
And the generation log records the correct LLM model
|
|
|
|
Examples:
|
|
| provider | model |
|
|
| anthropic | claude-sonnet-4-20250514 |
|
|
| openai | gpt-4o |
|
|
| gemini | gemini-2.0-flash |
|
|
|
|
Scenario: Ollama provider generates blog content using local model
|
|
Given the Ollama base URL is "http://localhost:11434"
|
|
And provider is "ollama" and model is "mistral"
|
|
When the LLM router is called with a prompt
|
|
Then returns a non-empty string response
|
|
And the router calls http://localhost:11434/api/chat
|
|
|
|
Scenario: Unknown provider raises configuration error
|
|
Given provider is "unknown_provider" and model is "some-model"
|
|
When the LLM router is called with a prompt
|
|
Then a UserError is raised with message containing "not configured"
|