upskill-event-manager/wordpress-dev/tests/e2e/README.md
bengizmo 5d08f8d28e docs: Update certificate testing documentation and methodology
This commit:
- Creates comprehensive CERTIFICATE_TESTING_GUIDE.md to document certificate testing
- Updates TRAINER_JOURNEY_TEST_SUMMARY.md to include certificate functionality
- Updates main README.md with certificate testing information
- Creates a centralized Config.ts utility for consistent configuration
- Updates CertificatePage.ts and other page objects for consistency
- Creates a guided manual test script (run-certificate-tests.sh)
- Archives outdated certificate test files
- Improves documentation organization and consistency
2025-05-20 23:10:19 -03:00

5.4 KiB

HVAC Community Events - E2E Tests

Trainer Journey Testing

This directory contains end-to-end tests for the complete Trainer User Journey as defined in the project requirements.

Quick Start

  1. Verify your setup:

    cd tests/e2e
    ./verify-setup.sh
    
  2. Run the trainer journey tests:

    cd ../..  # Go to wordpress-dev directory
    ./bin/run-tests.sh --trainer-journey
    
  3. Run certificate tests (manual guided testing):

    cd ../..  # Go to wordpress-dev directory
    ./bin/run-certificate-tests.sh generation  # Test certificate generation
    ./bin/run-certificate-tests.sh reports     # Test certificate reports
    

Test Coverage

The test suite covers the following trainer journey steps:

  • Login & Authentication (Steps 1-2)
  • Dashboard Access (Step 3)
  • Event Management (Step 4)
    • Create events (Step 4a)
    • View event list (Step 4b)
    • Modify events (Step 4c)
    • Delete events (Step 4d)
  • Event Details View (Step 5)
  • Event Statistics (Step 6 - In Progress)
  • Order & Attendee Details (Steps 7-8 - Pending)
  • Email Communication (Step 9 - Phase 2)
  • Attendee Check-in (Step 10)
  • Certificate Generation (Step 11 - Now Implemented!)
    • Generate certificates for attendees
    • View and manage certificates
    • Email and revoke certificates

Project Structure

tests/e2e/
├── pages/              # Page Object Model classes
│   ├── BasePage.ts
│   ├── LoginPage.ts
│   ├── DashboardPage.ts
│   ├── CreateEventPage.ts
│   ├── EventSummaryPage.ts
│   ├── ModifyEventPage.ts
│   └── CertificatePage.ts     # NEW!
├── utils/               # Utility classes
│   ├── Config.ts         # NEW! Centralized configuration
│   └── CertificateTestData.ts # NEW! Certificate test data
├── data/               # Test data
│   ├── test-users.ts
│   └── test-events.ts
├── docs/               # Documentation
│   └── trainer-journey-testing.md
├── test-plan/          # Test planning documents
│   └── trainer-journey-verification.md
├── trainer-journey.test.ts  # Main test suite
├── certificate-generation-manual.test.ts  # NEW! Manual certificate tests
├── certificate-management-manual.test.ts  # NEW! Manual certificate tests
├── CERTIFICATE_TESTING_GUIDE.md  # NEW! Certificate testing documentation
├── verify-setup.sh     # Setup verification script
└── README.md          # This file

Running Specific Tests

# Run all E2E tests
./bin/run-tests.sh --e2e

# Run only trainer journey tests
./bin/run-tests.sh --trainer-journey

# Run specific test scenarios
./bin/run-tests.sh --e2e --grep @login
./bin/run-tests.sh --e2e --grep @dashboard
./bin/run-tests.sh --e2e --grep @create-event

# Run certificate tests
./bin/run-certificate-tests.sh generation
./bin/run-certificate-tests.sh reports

Test Results

  • Console output shows real-time test progress
  • Screenshots saved in test-results/screenshots/
  • Test reports generated in test-results/

Latest Test Summary (2025-05-20)

The trainer journey tests are now PASSING with the following coverage:

  1. Login and Dashboard Access: Successfully tests trainer login and dashboard navigation
  2. Event Management: Complete coverage of event CRUD operations:
    • Create new events with all required fields
    • View events in My Events page (both upcoming and past)
    • Modify existing events
    • Delete events with confirmation
  3. Event Details: Views individual event pages
  4. Certificate Generation: Now implemented!
    • Generate certificates for event attendees
    • Manage certificates (view, email, revoke)
    • Filter and paginate certificate lists

Key findings:

  • Events created during testing appear in My Events but not in main dashboard (application issue)
  • TinyMCE editor requires special handling in tests
  • Multiple fallback strategies implemented for form fields
  • Certificate generation properly handles checked-in vs. non-checked-in attendees

For complete details on certificate testing, see the Certificate Testing Guide.

Prerequisites

  1. Environment Setup

    • .env file with staging server credentials
    • Node.js and npm installed
    • Playwright dependencies installed
  2. Staging Server Requirements

    • Test user test_trainer exists
    • Required plugins activated
    • HVAC Community Events plugin deployed

Troubleshooting

If tests fail, check:

  1. Network Issues

    • Staging server is accessible
    • No proxy/firewall blocking
  2. Authentication Issues

    • Test user credentials are correct
    • User has proper role assigned
  3. Element Not Found

    • Page structure may have changed
    • Update selectors in page objects
  4. Certificate Generation Issues

    • Verify events have attendees
    • Check if attendees have proper check-in status
    • Review certificate storage permissions

Contributing

When adding new tests:

  1. Use the Page Object Model pattern
  2. Add test data to centralized files
  3. Update documentation
  4. Follow existing naming conventions
  5. Use the Config utility for environment variables

Support

For issues or questions:

  • Check the troubleshooting guide above
  • Review test output and screenshots
  • Check staging server logs
  • Contact the development team