Implements the Email Attendees feature which allows trainers to: - Email event attendees directly from the Event Summary page - Filter attendees by ticket type - Use a rich text editor to compose messages - Include CC recipients - Send personalized emails to selected attendees Includes unit tests, integration tests, and E2E tests to verify functionality. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
4.1 KiB
4.1 KiB
Email Attendees Feature - Manual Test Plan
This document outlines a manual testing plan for the Email Attendees functionality in the HVAC Community Events plugin.
Prerequisites
- A WordPress site with The Events Calendar and Event Tickets plugins installed and activated
- The HVAC Community Events plugin installed and activated
- A user with the
hvac_trainerrole - At least one event created by the trainer
- At least one attendee registered for the event
Test Scenarios
1. Navigation and Access Control
| # | Test Case | Expected Result | Pass/Fail |
|---|---|---|---|
| 1.1 | As a logged-in trainer, navigate to Event Summary page of your event | Event Summary page loads with event details and Email Attendees button is visible | |
| 1.2 | Click on Email Attendees button | Redirects to Email Attendees page with the same event ID | |
| 1.3 | Try to access Email Attendees page directly when logged out | Redirects to login page | |
| 1.4 | Try to access Email Attendees page for an event you don't own | Access denied message appears |
2. UI Elements
| # | Test Case | Expected Result | Pass/Fail |
|---|---|---|---|
| 2.1 | Load Email Attendees page for an event with attendees | Page shows event title, navigation buttons, email form, and list of attendees | |
| 2.2 | Verify form elements | Subject field, CC field, rich text editor, and recipient list are present | |
| 2.3 | Check navigation buttons | View Event Summary and Return to Dashboard buttons are functional | |
| 2.4 | Verify attendee list | List shows attendee names, emails, and ticket types | |
| 2.5 | Check for Select All functionality | Select All checkbox selects/deselects all attendees |
3. Filtering
| # | Test Case | Expected Result | Pass/Fail |
|---|---|---|---|
| 3.1 | With multiple ticket types, check if filter exists | Ticket type filter dropdown is visible with all ticket types | |
| 3.2 | Select a specific ticket type | Page reloads with only attendees of that ticket type | |
| 3.3 | Select "All Tickets" option | Page shows all attendees regardless of ticket type |
4. Form Validation
| # | Test Case | Expected Result | Pass/Fail |
|---|---|---|---|
| 4.1 | Submit form without subject | Error message indicates subject is required | |
| 4.2 | Submit form without message | Error message indicates message is required | |
| 4.3 | Submit form without selecting recipients | Error message indicates at least one recipient is required | |
| 4.4 | Enter invalid email in CC field | Error message indicates invalid email format |
5. Email Sending
| # | Test Case | Expected Result | Pass/Fail |
|---|---|---|---|
| 5.1 | Fill all required fields and submit | Success message indicates email was sent | |
| 5.2 | Check recipient receives email | Email is received with correct subject and content | |
| 5.3 | Send email with CC | CC recipient also receives the email | |
| 5.4 | Verify personalization | Email begins with attendee's name if available | |
| 5.5 | Check email subject | Subject contains event title and custom subject text |
6. Edge Cases
| # | Test Case | Expected Result | Pass/Fail |
|---|---|---|---|
| 6.1 | Access page for an event with no attendees | Message indicates no attendees available | |
| 6.2 | Try to email non-existent event | Redirects to dashboard with error message | |
| 6.3 | Test with a large number of attendees | List correctly paginates or scrolls, Select All works correctly | |
| 6.4 | Test with special characters in email fields | Special characters are properly escaped |
Test Results
Tester: ______________________
Date: ________________________
Environment: _________________
Overall Result: _______________
Notes
- Record any bugs, issues, or unexpected behavior in this section
- Include browser and device information for any UI or display issues
- Document any performance concerns or usability issues
Recommendations
- Add any recommendations for future improvements or feature enhancements here