🧪 Step-by-Step Manual Testing Guide
Purpose: Systematically test all 11 pages of the Communication System
Estimated Time: 2-3 hours
Prerequisites: Dev server running on http://localhost:5173 (or your port)
🚀 BEFORE YOU START
1. Start the Development Server
cd /Users/luisrangel/devLR/rpa/flowpos-workspace/apps/frontend-pwa
pnpm dev
Expected: Server starts on http://localhost:5173
2. Login to the Application
- Navigate to
http://localhost:5173 - Login with your credentials
- Verify you reach the main dashboard
3. Open Developer Tools
- Chrome/Edge: F12 or Cmd+Option+I
- Firefox: F12 or Cmd+Option+K
- Safari: Cmd+Option+I
Check Console: Should have no errors on page load ✅
📋 MODULE 1: COMMUNICATIONS (3 Pages)
Page 1: Communications History
Access: Navigate to /main?form=/forms/CommunicationsHistoryPage
Test Cases
TC-CH-001: Page Loads ✅
- Page title displays: "Communications"
- Subtitle displays
- No console errors
- Loading spinner appears then disappears
TC-CH-002: Communications List ✅
- Communications display as cards
- Each card shows: recipient, channel, status, date
- Channel icons display correctly (Email=mail, SMS=message)
- Status badges have correct colors
- Dates are formatted correctly
TC-CH-003: Filters Work ✅
- Click "Filters" button
- Filter panel expands
- Select "Email" channel
- Click "Apply Filters" or auto-filter
- Only email communications show
- Filter badge shows "1" active filter
- Clear filters button works
TC-CH-004: Search Works ✅
- Enter text in search box
- Results filter in real-time
- Clear search button (X) works
- Search works on: recipient, content, subject
TC-CH-005: Pagination Works ✅
- If >20 communications, pagination appears
- "Next" button works
- "Previous" button works
- Page numbers correct
TC-CH-006: View Details ✅
- Click "View" on a communication
- Modal opens
- All details display correctly
- Close button works
- Click outside modal closes it
TC-CH-007: Resend Communication ✅
- Find a failed communication (or use delivered)
- Click "Resend" button
- Confirmation appears
- Click "Confirm"
- Success toast shows
- Communication requeued
TC-CH-008: Delete Communication ✅
- Click "Delete" on a communication
- Confirmation dialog appears
- Click "Delete"
- Success toast shows
- Communication removed from list
TC-CH-009: Refresh Works ✅
- Click "Refresh" button
- Loading indicator shows
- List updates
TC-CH-010: Responsive Design ✅
- Resize to mobile (< 768px)
- Cards stack vertically
- Filters collapse appropriately
- All buttons accessible
Page 2: Communication Stats
Access: Navigate to /main?form=/forms/CommunicationStatsPage
Test Cases
TC-CS-001: Page Loads ✅
- Page title: "Communication Statistics"
- Date range inputs display
- Stats cards load
TC-CS-002: Stats Display ✅
- Total Sent card shows count
- Success Rate shows percentage
- Delivery Rate shows percentage
- Open Rate shows (email)
- Click Rate shows (email)
- Failed count shows
- All numbers are correct
TC-CS-003: Breakdowns Display ✅
- "By Channel" section shows
- Email, SMS, WhatsApp, Messenger counts
- "By Status" section shows
- All status counts present
- "By Type" section shows
- All type counts with percentages
TC-CS-004: Date Range Filter ✅
- Change "From" date
- Change "To" date
- Click "Apply"
- Stats update for date range
- Reset to defaults works
TC-CS-005: Refresh Works ✅
- Click "Refresh" button
- Stats reload
- No errors
Page 3: Send Communication
Access: Navigate to /main?form=/forms/SendCommunicationPage
Test Cases
TC-SC-001: Page Loads ✅
- Page title: "Send Communication"
- Form displays
- All fields present
TC-SC-002: Channel Selection ✅
- Select "Email" channel
- Subject field appears
- Select "SMS" channel
- Subject field disappears
- Character counter appears
- Select "WhatsApp" channel
- WhatsApp-specific fields appear
TC-SC-003: Form Validation ✅
- Try submit empty form
- Validation errors show
- Required fields marked
- Error messages helpful
TC-SC-004: Send Email ✅
- Fill all required fields
- Select Email channel
- Enter valid recipient
- Enter subject
- Enter content
- Click "Send"
- Success toast shows
- Form resets or redirects
TC-SC-005: Send SMS ✅
- Select SMS channel
- Enter phone number
- Enter message
- Character counter shows
- Warning if > 160 chars
- Click "Send"
- Success toast
TC-SC-006: Send WhatsApp ✅
- Select WhatsApp channel
- Enter WhatsApp number
- Enter message
- Click "Send"
- Success toast
📋 MODULE 2: TEMPLATES (2 Pages)
Page 4: Templates Management
Access: Navigate to /main?form=/forms/TemplatesManagementPage
Test Cases
TC-TM-001: Page Loads ✅
- Page title: "Communication Templates"
- Subtitle displays
- Create button visible
- Templates list loads
TC-TM-002: Templates Display ✅
- Templates show as cards
- Each card shows: name, code, channel, type
- Active/Inactive badges display
- Channel icons show correct colors
TC-TM-003: Search Templates ✅
- Enter search term
- Results filter instantly
- Search by name works
- Search by code works
- Search by content works
- Clear search (X) works
TC-TM-004: Filter Templates ✅
- Click "Filters" button
- Filter panel opens
- Select channel filter
- Results update
- Select type filter
- Results update
- Select status (Active/Inactive)
- Results update
- Clear filters works
TC-TM-005: View Template ✅
- Click "View" on a template
- Preview modal opens
- Template details show
- Add test variable
- Enter variable value
- Click "Render Preview"
- Preview renders with variable replaced
- Close modal works
TC-TM-006: Edit Template ✅
- Click "Edit" on a template
- Navigates to Template Editor
- Form pre-filled with template data
- (Continue with Editor tests below)
TC-TM-007: Duplicate Template ✅
- Click "Duplicate" on a template
- Prompt for new name appears
- Enter new name
- Click OK
- Success toast shows
- New template appears in list
TC-TM-008: Delete Template ✅
- Click "Delete" on a template
- Confirmation dialog appears
- Click "Delete"
- Success toast
- Template removed from list
TC-TM-009: Create New Template ✅
- Click "Create Template" button
- Navigates to Template Editor
- Form is empty/default values
Page 5: Template Editor
Access: Navigate to /main?form=/forms/TemplateEditorPage
Test Cases
TC-TE-001: Page Loads ✅
- Page title: "Create Template" or "Edit Template"
- Form displays
- Variable picker panel shows
- Handlebars helpers panel shows
TC-TE-002: Form Fields Work ✅
- Enter template name
- Enter template code (auto-lowercase)
- Select channel
- Select type
- Enter subject (email only)
- Enter body
- Character counter updates
TC-TE-003: Channel-Specific Fields ✅
- Select Email → Subject field appears
- Select SMS → Subject field disappears
- Select WhatsApp → Provider Template ID field appears
- Select Messenger → Appropriate fields show
TC-TE-004: Variable Picker ✅
- Click on a variable in the picker
- Variable inserted at cursor position
- Cursor repositions after variable
- Variable has correct format:
{{variableName}}
TC-TE-005: Handlebars Helpers ✅
- Helpers list displays
- Each helper shows syntax
- Each helper shows example
- Helpers panel scrollable
TC-TE-006: Form Validation ✅
- Try submit empty form
- Validation errors show
- Name too short → Error
- Invalid code format → Error
- Empty body → Error
- Email without subject → Error
TC-TE-007: Save Template ✅
- Fill all required fields
- Click "Save Template"
- Loading state shows
- Success toast appears
- Redirects to Templates Management
- New template appears in list
TC-TE-008: Cancel Button ✅
- Click "Cancel"
- Redirects back to Templates Management
- No save occurs
TC-TE-009: Active Toggle ✅
- Toggle "Active" checkbox
- State changes
- Save works with inactive state
🔐 MODULE 3: PREFERENCES (2 Pages)
Page 6: Customer Preferences
Access: Navigate to /main?form=/forms/CustomerPreferencesPage (with state)
navigate("/main", {
state: {
selectedForm: "/forms/CustomerPreferencesPage",
entityType: "customer",
entityId: "your-customer-id-here"
}
});
Test Cases
TC-CP-001: Page Loads ✅
- Page title: "Customer Preferences"
- Subtitle displays
- Channel toggles display
- Back button present
TC-CP-002: Channel Toggles Work ✅
- Email toggle works (on/off)
- SMS toggle works (on/off)
- WhatsApp toggle works (on/off)
- Messenger toggle works (on/off)
- Visual feedback immediate
TC-CP-003: Preferred Contacts Display ✅
- If email set, shows under Email toggle
- If phone set, shows under SMS toggle
- If WhatsApp set, shows under WhatsApp toggle
TC-CP-004: Active Channels Summary ✅
- Blue info box shows enabled channels
- Lists all active channels
- Updates when toggles change
TC-CP-005: Save Preferences ✅
- Toggle some channels
- Click "Save Preferences"
- Loading state shows
- Success toast appears
- Page updates
TC-CP-006: Opt-Out Flow ✅
- Click "Opt Out of All Communications"
- Modal opens
- Enter opt-out reason (optional)
- Click "Confirm Opt Out"
- Success toast
- Red warning banner appears
- All toggles disabled
TC-CP-007: Restore After Opt-Out ✅
- When opted out, warning banner shows
- Click "Restore Preferences"
- Confirmation dialog
- Click "Restore"
- Success toast
- Warning banner disappears
- Toggles re-enabled
TC-CP-008: Back Button ✅
- Click back button
- Navigates to previous page
- No unsaved changes warning (or shows warning)
Page 7: Global Preferences Management
Access: Navigate to /main?form=/forms/GlobalPreferencesManagementPage
Test Cases
TC-GP-001: Page Loads ✅
- Page title: "Global Preferences Management"
- Description displays
- Refresh button visible
TC-GP-002: Preferences List ✅
- All custom preferences display
- Each shows entity type (customer/user)
- Each shows entity ID
- Channel status badges show for each
TC-GP-003: Opted-Out Indicators ✅
- Opted-out customers have red banner
- Opt-out date shows
- Opt-out reason shows (if present)
TC-GP-004: Navigation to Customer ✅
- Click "View" on a preference
- Navigates to Customer Preferences page
- Correct customer loads
TC-GP-005: Pagination ✅
- If >20 preferences, pagination shows
- Next/Previous buttons work
- Page counter correct
TC-GP-006: Empty State ✅
- If no custom preferences
- Empty state message shows
- Helpful description
TC-GP-007: Refresh ✅
- Click "Refresh" button
- List reloads
- No errors
⏱️ MODULE 4: QUEUE (1 Page)
Page 8: Queue Monitoring
Access: Navigate to /main?form=/forms/QueueMonitoringPage
Test Cases
TC-QM-001: Page Loads ✅
- Page title: "Communication Queue Monitoring"
- Stats cards display
- Jobs list displays
TC-QM-002: Stats Cards ✅
- Total jobs count
- Pending count (yellow)
- Processing count (purple, spinner)
- Completed count (green)
- Failed count (red)
- Cancelled count (gray)
TC-QM-003: Filter Jobs ✅
- Click "All" filter → Shows all jobs
- Click "Pending" → Shows only pending
- Click "Failed" → Shows only failed
- Click "Completed" → Shows only completed
- Filter highlights active
TC-QM-004: View Job Details ✅
- Click "View" button on a job
- Modal opens with job details
- Shows all job fields
- Shows payload
- Close button works
TC-QM-005: Retry Failed Job ✅
- Find a failed job
- Click "Retry" button
- Success toast shows
- Job status updates to "pending"
- Stats update
TC-QM-006: Cancel Pending Job ✅
- Find a pending job
- Click "Cancel" button
- Confirmation dialog
- Click "Yes"
- Success toast
- Job status updates to "cancelled"
TC-QM-007: Process Queue Now ✅
- Click "Process Now" button
- Confirmation dialog
- Click "Yes"
- Success toast
- Queue processes
- Stats update after 2 seconds
TC-QM-008: Auto-Refresh Works ✅
- Wait 30 seconds
- Stats auto-refresh
- Jobs auto-refresh
- No page flicker
TC-QM-009: Bulk Select Jobs ✅ (NEW FEATURE!)
- Click select-all checkbox in table header
- All jobs selected
- Selection counter shows: "X selected"
- Bulk action toolbar appears
- Uncheck select-all → All deselected
TC-QM-010: Bulk Retry ✅ (NEW FEATURE!)
- Select 3-5 failed jobs
- Click "Retry Selected" button
- Success toast shows count
- All selected jobs queued for retry
- Selection clears
TC-QM-011: Bulk Cancel ✅ (NEW FEATURE!)
- Select 3-5 pending jobs
- Click "Cancel Selected" button
- Confirmation dialog
- Click "Yes"
- Success toast shows count
- All selected jobs cancelled
- Selection clears
TC-QM-012: High Failure Alert ✅
- If failed jobs > 20
- Red alert banner shows
- Warning message displays
- Actionable suggestions
TC-QM-013: Mobile View ✅
- Resize to mobile
- Table becomes cards
- Checkboxes visible on cards
- All actions accessible
📝 MODULE 5: TEMPLATES EDITOR (Standalone)
Already tested in Page 5 above ✅
👥 MODULE 6: RECIPIENT TARGETING (2 Pages)
Page 9: Recipient Groups
Access: Navigate to /main?form=/forms/RecipientGroupsPage
Test Cases
TC-RG-001: Page Loads ✅
- Page title: "Recipient Groups"
- Create button visible
- Groups list loads
TC-RG-002: Groups Display ✅
- Groups show as cards
- Each shows: name, description, member count
- Active/Inactive badges display
TC-RG-003: Create Group ✅
- Click "Create Group"
- Modal opens
- Fill name and description
- Toggle "Active"
- Click "Save"
- Success toast
- Group appears in list
TC-RG-004: Edit Group ✅
- Click "Edit" on a group
- Modal opens pre-filled
- Change name
- Click "Save"
- Success toast
- Changes reflected
TC-RG-005: Delete Group ✅
- Click "Delete" on a group
- Confirmation dialog
- Click "Delete"
- Success toast
- Group removed
TC-RG-006: View Members ✅
- Click "View Members" on a group
- Members modal opens
- Members list displays
- "Add Member" button visible
TC-RG-007: Add Member ✅
- In members modal, click "Add Member"
- Add member form shows
- Select member type (email/phone/user)
- Enter value
- Click "Add"
- Member appears in list
TC-RG-008: Remove Member ✅
- Click "Remove" on a member
- Confirmation dialog
- Click "Yes"
- Member removed from list
Page 10: Recipient Rules
Access: Navigate to /main?form=/forms/RecipientRulesPage
Test Cases
TC-RR-001: Page Loads ✅
- Page title: "Recipient Rules"
- Create button visible
- Rules list loads
TC-RR-002: Rules Display ✅
- Rules show as cards
- Each shows: communication type, channel, targeting type
- Priority badges display
- Active/Inactive badges display
TC-RR-003: Create Rule ✅
- Click "Create Rule"
- Modal opens
- Select communication type
- Select channel
- Select targeting type (role/group/specific/all)
- Set priority
- Click "Save"
- Success toast
- Rule appears in list
TC-RR-004: Edit Rule ✅
- Click "Edit" on a rule
- Modal opens pre-filled
- Change fields
- Click "Save"
- Success toast
- Changes reflected
TC-RR-005: Delete Rule ✅
- Click "Delete" on a rule
- Confirmation dialog
- Click "Delete"
- Success toast
- Rule removed
TC-RR-006: Toggle Active ✅
- Click toggle/deactivate on a rule
- Rule status changes
- Visual feedback immediate
TC-RR-007: Preview Recipients ✅
- Click "Preview" on a rule
- Preview modal opens
- Recipients list displays
- Shows who would receive
- Count is correct
🎯 CROSS-MODULE INTEGRATION TESTS
INT-001: Template → Communication Flow ✅
Steps:
- Create a template with variables
- Navigate to Send Communication
- (Ideally select the template - if feature exists)
- Send communication
- View in Communications History
- Verify content has variables replaced
Result: ☐ PASS ☐ FAIL
INT-002: Preferences Block Communication ✅
Steps:
- Navigate to Customer Preferences
- Disable Email channel
- Save preferences
- Try to send email to that customer
- Verify email is blocked or not sent
Result: ☐ PASS ☐ FAIL
INT-003: Queue Processes Communication ✅
Steps:
- Send a communication
- Navigate to Queue Monitoring
- Verify job appears in queue
- Wait for processing (or click "Process Now")
- Verify job moves to "completed"
- Navigate to Communications History
- Verify communication shows "sent" or "delivered"
Result: ☐ PASS ☐ FAIL
📱 RESPONSIVE TESTING
Desktop (>1024px)
- All pages render correctly
- All features accessible
- No horizontal scroll
- Tables display properly
Tablet (768-1024px)
- Pages adapt to width
- Tables remain usable or convert
- Filters work
- Modals centered
Mobile (<768px)
- All cards stack vertically
- Filters collapse or scroll
- Tables become cards
- All actions accessible
- Forms work
- Modals fill screen appropriately
🌓 DARK MODE TESTING
For Each Page:
- Toggle dark mode
- All text readable
- Contrast sufficient
- Colors appropriate
- Badges/badges readable
- No white flash
🔍 ACCESSIBILITY TESTING
Keyboard Navigation
- Tab through all interactive elements
- Tab order logical
- Focus indicators visible
- Enter/Space activate buttons
- Escape closes modals
Screen Reader
- All images have alt text
- All buttons have labels
- All form inputs have labels
- ARIA attributes present
⚡ PERFORMANCE TESTING
Page Load Times
- Communications History: < 2s
- Templates Management: < 2s
- Queue Monitoring: < 2s
- All others: < 1s
API Response Times
- GET requests: < 500ms
- POST requests: < 1s
- PATCH requests: < 1s
Interaction Responsiveness
- Filters: < 100ms
- Search: < 200ms
- Button clicks: Immediate feedback
- Modal open: < 100ms
✅ FINAL CHECKLIST
Before Deploying to Production
- All pages load without errors
- All critical features work
- No critical bugs found
- Mobile responsive confirmed
- Dark mode works
- i18n works (EN + ES)
- Performance acceptable
- Error handling works
- Success feedback works
- All integrations work
Sign-Off: ☐ READY FOR PRODUCTION 🚀
📝 NOTES & OBSERVATIONS
Date: _______________
Time Started: _______________
Time Ended: _______________
Total Duration: _______________
General Notes:
-
-
-
Bugs to File:
1.
2.
3.
Improvements Suggested:
1.
2.
3.
🎯 NEXT STEPS
Based on testing results:
If All Tests Pass:
- Deploy to staging
- Test in staging
- Deploy to production
- Monitor production
If Minor Issues:
- File bugs
- Fix non-blocking issues
- Retest
- Deploy
If Critical Issues:
- Fix immediately
- Full retest
- Code review
- Deploy when stable
Testing Complete! ✅
Tester Signature: _______________
Date: _______________
Document Version: 1.0
Last Updated: October 26, 2025