Implements automatic creation of required plugin pages (Community Login, Trainer Registration, Trainer Dashboard) upon plugin activation. This addresses E2E test failures caused by missing pages in the test environment. - Adds activation hook in `hvac-community-events.php` to call `hvac_ce_create_required_pages`. - The callback function checks for existing pages by slug and creates them using `wp_insert_post` if missing. Includes debug logging. Also fixes issues identified during E2E test debugging: - Corrects fatal error in `includes/community/class-login-handler.php` by replacing undefined constant `HVAC_COMMUNITY_EVENTS_PATH` with `HVAC_CE_PLUGIN_DIR`. - Updates `tests/e2e/tests/login.spec.ts` to use the correct selector `#wp-submit` for the login form submit button instead of `button[type="submit"]`. Documentation updates: - Adds `docs/automatic-page-creation-plan.md`. - Updates `README.md` regarding automatic page creation. - Updates Memory Bank files (`decisionLog.md`, `progress.md`, `activeContext.md`). Note: Activation hook logging did not appear during WP-CLI activation, requiring further investigation if page creation issues persist. E2E test confirmation pending.
48 lines
No EOL
1.5 KiB
Docker
48 lines
No EOL
1.5 KiB
Docker
FROM wordpress:6.7.2-php8.1-fpm
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
vim \
|
|
libzip-dev \
|
|
procps \
|
|
net-tools \
|
|
unzip \
|
|
curl \
|
|
git \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install PHP extensions
|
|
RUN docker-php-ext-install mysqli pdo pdo_mysql zip
|
|
|
|
# Install Composer
|
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
# Install WP-CLI (download to /tmp first)
|
|
RUN curl -o /tmp/wp-cli.phar https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
|
&& echo "DEBUG: WP-CLI Downloaded to /tmp" \
|
|
&& ls -l /tmp/wp-cli.phar
|
|
RUN chmod +x /tmp/wp-cli.phar \
|
|
&& echo "DEBUG: WP-CLI chmod done" \
|
|
&& ls -l /tmp/wp-cli.phar
|
|
RUN mv /tmp/wp-cli.phar /usr/local/bin/wp \
|
|
&& echo "DEBUG: WP-CLI Moved to /usr/local/bin/wp" \
|
|
&& ls -l /usr/local/bin/wp
|
|
|
|
# Set working directory
|
|
WORKDIR /var/www/html
|
|
|
|
# Copy composer files
|
|
COPY composer.* ./
|
|
|
|
# Install dependencies
|
|
RUN composer install --no-interaction
|
|
|
|
# Verify installations
|
|
RUN php -r "if (!extension_loaded('pdo_mysql')) { exit(1); }"
|
|
RUN composer --version
|
|
|
|
# WordPress test framework is installed via Composer (wp-phpunit/wp-phpunit)
|
|
# Remove conflicting manual installation:
|
|
# RUN curl -o /tmp/wordpress-tests.tar.gz https://wordpress.org/wordpress-tests-latest.tar.gz
|
|
# RUN mkdir -p /tmp/wordpress-tests-lib && tar -xzf /tmp/wordpress-tests.tar.gz -C /tmp/wordpress-tests-lib --strip-components=1
|
|
# RUN rm /tmp/wordpress-tests.tar.gz |