Major refactoring cleanup: - Add new controller architecture (class-controller-*.php) - Add new settings-v2 UI (views/settings-v2/) - Add new CSS architecture (agentic-sidebar.css, tokens) - Add esbuild build pipeline (scripts/build.js, package.json) - Add composer dependencies (vendor/) - Add frontend src directory (assets/js/src/index.jsx) - Add documentation files - Remove old/obsolete files (class-settings.php, old CSS) This commits all pending changes from previous refactoring efforts.
4.2 KiB
4.2 KiB
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:
- Note the exact steps to reproduce
- Check browser console for JS errors
- Check
debug.logfor PHP errors - Check Network tab for failed REST requests
- Report in issue tracker with:
- Test name
- Steps to reproduce
- Error messages (console + network)
- WordPress version
- Plugin version