Skip to main content

πŸ§ͺ 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​

  1. Navigate to http://localhost:5173
  2. Login with your credentials
  3. 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:

  1. Create a template with variables
  2. Navigate to Send Communication
  3. (Ideally select the template - if feature exists)
  4. Send communication
  5. View in Communications History
  6. Verify content has variables replaced

Result: ☐ PASS ☐ FAIL


INT-002: Preferences Block Communication βœ…β€‹

Steps:

  1. Navigate to Customer Preferences
  2. Disable Email channel
  3. Save preferences
  4. Try to send email to that customer
  5. Verify email is blocked or not sent

Result: ☐ PASS ☐ FAIL


INT-003: Queue Processes Communication βœ…β€‹

Steps:

  1. Send a communication
  2. Navigate to Queue Monitoring
  3. Verify job appears in queue
  4. Wait for processing (or click "Process Now")
  5. Verify job moves to "completed"
  6. Navigate to Communications History
  7. 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