- Re-enabled HVAC_Event_Edit_Comprehensive class initialization
- Added proper file includes for event edit classes
- Updated JavaScript to wait for TEC form to fully load via AJAX
- Fixed field selectors to match actual form structure
- Increased timeouts to handle AJAX form rendering
- Prioritized correct selectors for form fields
The comprehensive fix now properly loads event data and populates fields
when editing events from the trainer dashboard.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
140 lines
No EOL
5.2 KiB
JavaScript
Executable file
140 lines
No EOL
5.2 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
|
|
const { chromium } = require('@playwright/test');
|
|
|
|
process.env.DISPLAY = ':0';
|
|
|
|
(async () => {
|
|
console.log('Testing manage event form population...\n');
|
|
|
|
const browser = await chromium.launch({
|
|
headless: true,
|
|
args: ['--no-sandbox']
|
|
});
|
|
const page = await browser.newPage();
|
|
|
|
try {
|
|
// Login
|
|
console.log('1. Logging in...');
|
|
await page.goto('https://upskill-staging.measurequick.com/wp-login.php');
|
|
await page.fill('#user_login', 'test_admin');
|
|
await page.fill('#user_pass', 'TestAdmin2025!');
|
|
await page.click('#wp-submit');
|
|
await page.waitForTimeout(3000);
|
|
|
|
// Go to manage event page with event_id
|
|
console.log('2. Going to manage event page with event_id=6161...');
|
|
await page.goto('https://upskill-staging.measurequick.com/trainer/event/manage/?event_id=6161');
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// Check if hvac_event_comprehensive object exists
|
|
const hasComprehensiveData = await page.evaluate(() => {
|
|
return typeof hvac_event_comprehensive !== 'undefined';
|
|
});
|
|
|
|
console.log('\n3. Checking for comprehensive data object:');
|
|
console.log(' Has hvac_event_comprehensive:', hasComprehensiveData);
|
|
|
|
if (hasComprehensiveData) {
|
|
const eventData = await page.evaluate(() => hvac_event_comprehensive);
|
|
console.log('\n4. Event data structure:');
|
|
console.log(' Event ID:', eventData.event_id);
|
|
console.log(' Has event_data:', !!eventData.event_data);
|
|
|
|
if (eventData.event_data) {
|
|
console.log(' Core data:', eventData.event_data.core);
|
|
console.log(' Venue data:', eventData.event_data.venue);
|
|
console.log(' Organizer data:', eventData.event_data.organizer);
|
|
}
|
|
}
|
|
|
|
// Check actual form fields
|
|
console.log('\n5. Checking form fields:');
|
|
const fields = await page.evaluate(() => {
|
|
const results = {};
|
|
|
|
// Try multiple selectors for title
|
|
const titleSelectors = [
|
|
'#title',
|
|
'input[name="post_title"]',
|
|
'#event-title',
|
|
'input[name="EventTitle"]'
|
|
];
|
|
|
|
for (const selector of titleSelectors) {
|
|
const field = document.querySelector(selector);
|
|
if (field) {
|
|
results.title = {
|
|
found: true,
|
|
selector: selector,
|
|
value: field.value
|
|
};
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!results.title) {
|
|
results.title = { found: false };
|
|
}
|
|
|
|
// Try multiple selectors for description
|
|
const descSelectors = [
|
|
'#description',
|
|
'textarea[name="post_content"]',
|
|
'#event-description',
|
|
'textarea[name="EventDescription"]'
|
|
];
|
|
|
|
for (const selector of descSelectors) {
|
|
const field = document.querySelector(selector);
|
|
if (field) {
|
|
results.description = {
|
|
found: true,
|
|
selector: selector,
|
|
value: field.value
|
|
};
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!results.description) {
|
|
results.description = { found: false };
|
|
}
|
|
|
|
// Check for TEC shortcode
|
|
const shortcodeDiv = document.querySelector('[data-tribe-shortcode]');
|
|
results.hasTECShortcode = !!shortcodeDiv;
|
|
|
|
// Check for any tribe forms
|
|
const tribeForms = document.querySelectorAll('form[id*="tribe"], form[class*="tribe"]');
|
|
results.tribeForms = tribeForms.length;
|
|
|
|
return results;
|
|
});
|
|
|
|
console.log(' Title field:', fields.title);
|
|
console.log(' Description field:', fields.description);
|
|
console.log(' Has TEC shortcode:', fields.hasTECShortcode);
|
|
console.log(' Tribe forms found:', fields.tribeForms);
|
|
|
|
// Check if the comprehensive JS ran
|
|
console.log('\n6. Checking if population script ran:');
|
|
const populationStatus = await page.evaluate(() => {
|
|
// Check if there's any indication the script tried to run
|
|
const notifications = document.querySelectorAll('.hvac-field-notification');
|
|
return {
|
|
notifications: notifications.length,
|
|
consoleErrors: window.hvacErrors || []
|
|
};
|
|
});
|
|
|
|
console.log(' Field notifications:', populationStatus.notifications);
|
|
|
|
} catch (error) {
|
|
console.error('Error:', error.message);
|
|
} finally {
|
|
console.log('\nKeeping browser open for 10 seconds...');
|
|
await page.waitForTimeout(10000);
|
|
await browser.close();
|
|
}
|
|
})(); |