HVAC Community Events WordPress Plugin with Comprehensive Testing Framework
Find a file
bengizmo 8655c91003 feat(registration): Implement form, E2E tests, and debug processing
Implements the full HTML structure for the Community Registration form based on requirements, including all specified fields, labels, hints, and basic structure for error display. Adds corresponding JavaScript for dynamic state/province dropdown population.

Creates initial E2E tests (`registration.spec.ts`) for the registration page covering loading, validation scenarios (empty fields, invalid email, password mismatch, weak password), and successful submission. Creates a test data file (`personas.ts`) with sample user data.

Undertakes extensive debugging of failing E2E tests:
- Resolved initial shortcode rendering failure by correctly instantiating the `HVAC_Registration` class.
- Fixed incorrect form ID and submit button selectors in E2E tests.
- Corrected field ID selector (`#business_phone`) in E2E test.
- Refactored form submission handling multiple times (trying `init` hook, `admin_post` hooks, and direct shortcode processing) to address issues with validation error display and success redirects. Reverted to using the `init` hook with transient-based error handling as the most promising path despite current display issues.
- Identified and fixed a fatal PHP error ("Cannot redeclare handle_profile_image_upload") caused by duplicated code during refactoring.
- Troubleshot and resolved Docker volume/cache issues preventing code fixes from taking effect by restarting containers and flushing caches.
- Added and subsequently removed extensive diagnostic logging throughout the PHP classes and main plugin file to trace execution flow.
- Refined Playwright waits in E2E tests, specifically for the dynamically populated state dropdown.

Updates Memory Bank files (`activeContext.md`, `progress.md`) and `docs/implementation_plan.md` to reflect the completed unit test validation (Task 0.6) and the current debugging status of registration E2E tests (Task 1.10).

Current Status:
- Fatal errors resolved, plugin initializes correctly.
- Login E2E tests pass.
- Registration page loads correctly.
- Successful registration E2E test path completes form filling and submission, resulting in the expected redirect.
- Validation error E2E tests still fail as backend errors are not displayed on the frontend after form submission/redirect. Further debugging needed on error display mechanism (likely transient handling or HTML rendering).

Modified Files:
- docs/implementation_plan.md
- memory-bank/activeContext.md
- memory-bank/progress.md
- wordpress-dev/tests/e2e/data/personas.ts (new)
- wordpress-dev/tests/e2e/tests/registration.spec.ts (new)
- wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/assets/js/hvac-registration.js
- wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/hvac-community-events.php
- wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/includes/class-hvac-community-events.php
- wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/includes/class-hvac-registration.php
2025-03-30 22:20:40 -03:00
.roo Initial commit: Implemented registration and login functionality 2025-03-25 10:56:29 -03:00
docs feat: Implement auto page creation & fix login E2E tests 2025-03-28 17:18:21 -03:00
memory-bank feat: Implement auto page creation & fix login E2E tests 2025-03-28 17:18:21 -03:00
wordpress-dev feat(registration): Implement form, E2E tests, and debug processing 2025-03-30 22:20:40 -03:00
.gitattributes Initial commit: Implemented registration and login functionality 2025-03-25 10:56:29 -03:00
.gitignore feat(dev-env): implement backup-based development workflow 2025-03-26 11:26:18 -03:00
.rooignore Initial commit: Implemented registration and login functionality 2025-03-25 10:56:29 -03:00
.roomodes Initial commit: Implemented registration and login functionality 2025-03-25 10:56:29 -03:00
insert-variables.sh Initial commit: Implemented registration and login functionality 2025-03-25 10:56:29 -03:00
README.md Initial commit: Implemented registration and login functionality 2025-03-25 10:56:29 -03:00

Network Events

Status: Active/Authoritative Last Updated: March 12, 2025 Scope: Main project documentation

A specialized community events platform for trainers using The Events Calendar suite.

Description

Network Events is a WordPress plugin that extends The Events Calendar suite to create a specialized platform for trainers. It provides a custom user role for trainers, registration and login forms, a trainer dashboard, and event management capabilities.

Features

  • Custom user role for HVAC trainers
  • Trainer registration and login
  • Trainer dashboard
  • Event creation and management
  • Event summary and reporting
  • Attendee management
  • Email communication with attendees
  • Integration with The Events Calendar suite

Requirements

WordPress Environment

  • WordPress 5.9 or higher
  • PHP 7.4 or higher

Required Plugins (Pre-installed on Production)

All required plugins are automatically synced from production during development environment setup:

  1. The Events Calendar Suite:

    • The Events Calendar (6.10.2+)
    • Events Calendar Pro (7.4.2+)
    • Event Tickets (5.19.3+)
    • Event Tickets Plus (6.2.0+)
    • Community Events (4.10.0+)
  2. Additional Plugins (present on the Upskill HVAC Website):

    • Spectra Pro (2.0.0+)
    • Premium Starter Templates (4.4.14+)
    • Essential Blocks (5.3.2+)

License

Copyright (c) 2025 Teal Maker Consulting

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation. You may NOT assume that you can use any other version of the GPL.

Credits

Developed by Teal Maker Consulting