# Manual Smoke Tests Run these tests after each refactor step to verify core functionality still works. ## Prerequisites - Local development environment running - Plugin activated - Gutenberg editor accessible - Test post created --- ## Test Flows ### 1. Chat Flow | Step | Action | Expected | |------|--------|----------| | 1 | Open a post in Gutenberg | Editor loads | | 2 | Type a message in the sidebar chat | Message appears in input | | 3 | Click send / press Enter | Streaming response begins | | 4 | Wait for response to complete | Message appears in chat thread | **Pass Criteria:** Chat thread shows user message and AI response. --- ### 2. Plan Generation Flow | Step | Action | Expected | |------|--------|----------| | 1 | Click "Plan" tab in sidebar | Plan tab is active | | 2 | Type an outline request (e.g., "Write a blog post about X") | Text appears in input | | 3 | Click "Generate Plan" | Loading indicator shows | | 4 | Wait for plan to generate | Outline renders with sections | **Pass Criteria:** Plan displays with at least one section heading. --- ### 3. Article Execution Flow | Step | Action | Expected | |------|--------|----------| | 1 | Generate a plan first | Plan is visible | | 2 | Click "Execute" button | Streaming begins | | 3 | Wait for article to complete | Content appears in Gutenberg blocks | **Pass Criteria:** At least one paragraph block is added to the post. --- ### 4. Block Refinement Flow | Step | Action | Expected | |------|--------|----------| | 1 | Add a paragraph block with content | Block is visible | | 2 | Select the block | Block is highlighted | | 3 | Click "Refine" in sidebar | Inline editor shows | | 4 | Click "Apply" | Block content updates | **Pass Criteria:** Block content changes after refinement. --- ### 5. SEO Audit Flow | Step | Action | Expected | |------|--------|----------| | 1 | Click "SEO" tab in sidebar | SEO tab is active | | 2 | Click "Run Audit" button | Loading indicator shows | | 3 | Wait for audit to complete | Report displays with score | **Pass Criteria:** Audit report shows a numeric score and at least one issue/recommendation. --- ### 6. Image Generation Flow | Step | Action | Expected | |------|--------|----------| | 1 | Add an image block or click image generation | Image dialog opens | | 2 | Enter a prompt and click "Generate" | Loading indicator shows | | 3 | Wait for generation | Image variants appear | | 4 | Select a variant and click "Commit" | Image uploads and appears in post | **Pass Criteria:** Image appears in Media Library and post content. --- ### 7. Settings Persistence Flow | Step | Action | Expected | |------|--------|----------| | 1 | Open plugin settings | Settings page loads | | 2 | Change the AI model selection | Selection changes | | 3 | Click "Save" | Success message appears | | 4 | Reload the page | Setting persists | **Pass Criteria:** Model selection is retained after page reload. --- ### 8. MEMANTO Memory Flow | Step | Action | Expected | |------|--------|----------| | 1 | Configure MEMANTO URL in settings | URL is saved | | 2 | Use the agent in a chat | Chat completes without error | | 3 | Check for memory recall | Agent references previous context | **Pass Criteria:** No errors in chat, agent shows memory awareness. --- ### 9. Cost Tracking Flow | Step | Action | Expected | |------|--------|----------| | 1 | Use any AI feature (chat, generate, etc.) | Feature works | | 2 | Open plugin settings | Settings page loads | | 3 | Click "Cost Log" tab | Cost entries display | **Pass Criteria:** At least one cost entry appears with token/usage data. --- ## Quick Regression Checklist After any code change, verify: - [ ] Plugin activates without errors - [ ] Gutenberg editor loads without JS errors - [ ] At least one REST endpoint responds (e.g., `/wp-json/wp-agentic-writer/v1/ai-capabilities`) - [ ] Settings page saves without errors - [ ] No PHP fatal errors in debug.log --- ## Reporting Failures If a test fails: 1. Note the exact steps to reproduce 2. Check browser console for JS errors 3. Check `debug.log` for PHP errors 4. Check Network tab for failed REST requests 5. Report in issue tracker with: - Test name - Steps to reproduce - Error messages (console + network) - WordPress version - Plugin version