7.2 KiB
MaplePress Plugin Testing Guide
Prerequisites
- WordPress running at http://localhost:8081
- MaplePress backend running at http://localhost:8000 (or update API URL in settings)
- WordPress admin access
Test Scenarios
Scenario 1: Fresh Installation (Activation Flow)
Steps:
-
Deactivate the plugin (if already activated)
- Go to WordPress Admin → Plugins
- Find "MaplePress"
- Click "Deactivate"
-
Activate the plugin
- Click "Activate" on MaplePress
- Expected: Auto-redirect to Settings → MaplePress
-
Verify Welcome Screen
- Expected: See "🚀 Welcome to MaplePress!" banner
- Expected: See 4-step setup instructions
- Expected: See "Sign Up at MaplePress.io" button
- Expected: See "Login to Existing Account" button
-
Verify Admin Notice (if you navigate away)
- Go to Dashboard or any other admin page
- Expected: See yellow warning banner at top
- Expected: Message says "MaplePress Setup Required"
- Expected: Contains links to sign up and configure
Scenario 2: API Key Entry (Success Path)
Prerequisites:
- You have a valid API key from the backend
- To get one:
# Use the backend API to register and create a site # Or use existing test API key
Steps:
-
Go to Settings → MaplePress
-
Verify default API URL
- Expected: API URL field shows
http://localhost:8000
- Expected: API URL field shows
-
Enter a valid API key
- Paste your API key in the "API Key" field
- Optional: Check "Enable MaplePress"
- Click "Save Settings & Verify Connection"
-
Verify Success Response
- Expected: Green success message: "✓ API connection verified successfully!"
- Expected: Welcome banner disappears
- Expected: New section appears: "✓ Connected to MaplePress"
- Expected: Site details table shows:
- Site ID (UUID)
- Tenant ID (UUID)
- Domain (your site domain)
- Plan (e.g., "Free")
- Status (● Active or ● Inactive)
- Expected: "→ Open MaplePress Dashboard" button appears
-
Verify Admin Notice Removed
- Navigate to Dashboard or Posts
- Expected: Yellow warning banner is GONE
Scenario 3: Invalid API Key (Error Path)
Steps:
-
Go to Settings → MaplePress
-
Enter an invalid API key
- Enter:
invalid_key_12345 - Click "Save Settings & Verify Connection"
- Enter:
-
Verify Error Response
- Expected: Red error message appears
- Expected: Message says "API Connection Error: [error details]"
- Expected: Site details table does NOT appear
- Expected: Plugin status remains "needs setup"
-
Verify Admin Notice Persists
- Navigate to Dashboard
- Expected: Yellow warning banner STILL shows
Scenario 4: Empty API Key
Steps:
-
Go to Settings → MaplePress
-
Leave API key field empty
- Click "Save Settings & Verify Connection"
-
Verify Behavior
- Expected: No error message (just saves empty)
- Expected: Welcome banner still shows
- Expected: Admin notice persists on other pages
Scenario 5: API Key Update/Change
Steps:
-
Start with a valid, connected API key
- Verify you see "✓ Connected to MaplePress"
-
Change to a different valid API key
- Enter new API key
- Click "Save Settings & Verify Connection"
-
Verify Update
- Expected: Success message appears
- Expected: Site details update to reflect new site
-
Change to invalid key
- Enter invalid key
- Click save
-
Verify Validation
- Expected: Error message appears
- Expected: Connection status changes back to "needs setup"
- Expected: Admin notice returns
Testing Checklist
- Plugin activation redirects to settings page
- Welcome banner shows on first visit
- "Sign Up" button links to https://getmaplepress.com/register (opens in new tab)
- "Login" button links to https://getmaplepress.com/login (opens in new tab)
- Admin notice appears on all pages when not configured
- Admin notice does NOT appear on settings page itself
- Admin notice is dismissible
- Valid API key shows success message
- Valid API key populates site details correctly
- Invalid API key shows clear error message
- Site details table shows after successful connection
- Site details include: site_id, tenant_id, domain, plan_tier
- Status indicator shows correct state (Active/Inactive)
- "Open MaplePress Dashboard" button appears when connected
- Dashboard button links to https://getmaplepress.com/dashboard (opens in new tab)
- Admin notice disappears after successful configuration
- Enable checkbox works correctly
- Settings persist after save
- API URL can be changed (for dev vs production)
Manual API Key Testing
If you need to test with a real API key, follow the backend setup guide:
See: cloud/maplepress-backend/GETTING-STARTED.md → "Create Test Data" section
Quick summary:
- Register a user with
POST /api/v1/register - Create a site with
POST /api/v1/sites - Save the
api_keyfrom the site creation response
For detailed curl examples and full instructions, see the backend GETTING-STARTED.md file.
Expected Settings Structure
After successful configuration, WordPress options should contain:
array(
'api_url' => 'http://localhost:8000',
'api_key' => 'live_sk_...',
'site_id' => 'abc-123-def',
'tenant_id' => 'xyz-456-uvw',
'domain' => 'localhost',
'plan_tier' => 'free',
'is_verified' => true,
'enabled' => true,
'needs_setup' => false,
)
Troubleshooting
Plugin doesn't redirect after activation
- Make sure you're not activating multiple plugins at once
- Try deactivating and reactivating
- Check if transient was set:
get_transient('maplepress_activation_redirect')
API connection fails
- Verify backend is running:
curl http://localhost:8000/health - Check API URL in settings matches backend URL
- Verify API key is correct and not expired
- Check WordPress debug logs:
docker exec -it maple-wordpress-dev tail -f /var/www/html/wp-content/debug.log - See backend troubleshooting:
cloud/maplepress-backend/GETTING-STARTED.md
Admin notice doesn't disappear
- Verify
needs_setupis set tofalsein settings - Clear WordPress transients/cache
- Deactivate and reactivate plugin
Site details don't show
- Verify API response includes all fields (site_id, tenant_id, domain, plan_tier)
- Check backend
/api/v1/plugin/statusendpoint response - Enable WordPress debug mode and check for PHP errors
Success Criteria
✅ User can activate plugin and see setup instructions ✅ User can click external links to sign up/login ✅ User can enter API key and validate it ✅ Valid API key shows success and site details ✅ Invalid API key shows clear error ✅ Admin notices guide user through setup ✅ Connected state shows all site information ✅ Plugin can be enabled/disabled after connection
Next Steps After Testing
Once basic authentication flow is verified:
- Test with production backend URL
- Implement content indexing features
- Add search widget functionality
- Build web dashboard for account/site management