- Add 26 documentation files including test reports, deployment guides, and troubleshooting documentation - Include 3 CSV data files for trainer imports and user registration tracking - Add 43 JavaScript test files covering mobile optimization, Safari compatibility, and E2E testing - Include 18 PHP utility files for debugging, geocoding, and data analysis - Add 12 shell scripts for deployment verification, user management, and database operations - Update .gitignore with whitelist patterns for development files, documentation, and CSV data 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
127 lines
No EOL
4.1 KiB
JavaScript
127 lines
No EOL
4.1 KiB
JavaScript
const { chromium } = require('playwright');
|
|
|
|
const BASE_URL = 'https://upskill-staging.measurequick.com';
|
|
|
|
async function testDeployedFeatures() {
|
|
const browser = await chromium.launch({ headless: true });
|
|
const context = await browser.newContext({
|
|
viewport: { width: 1920, height: 1080 }
|
|
});
|
|
const page = await context.newPage();
|
|
|
|
console.log('Testing deployed trainer features on staging...\n');
|
|
|
|
try {
|
|
// Test 1: Registration Form - Check if refactored
|
|
console.log('1. Testing Registration Form Refactor...');
|
|
await page.goto(`${BASE_URL}/trainer-registration/`);
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// Take full page screenshot
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-01-registration-full.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Check if venue section exists and test conditional display
|
|
const venueRadio = await page.$('input[name="create_venue"]');
|
|
if (venueRadio) {
|
|
console.log(' - Found venue radio buttons');
|
|
await page.click('input[name="create_venue"][value="yes"]');
|
|
await page.waitForTimeout(500);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-02-venue-visible.png',
|
|
fullPage: true
|
|
});
|
|
}
|
|
|
|
// Test 2: Login as test trainer
|
|
console.log('\n2. Logging in as test_trainer...');
|
|
await page.goto(`${BASE_URL}/wp-login.php`);
|
|
await page.fill('#user_login', 'test_trainer');
|
|
await page.fill('#user_pass', 'password123');
|
|
await page.click('#wp-submit');
|
|
|
|
// Wait for redirect
|
|
await page.waitForTimeout(3000);
|
|
|
|
// Test 3: Check Venues List
|
|
console.log('\n3. Testing Venues List Page...');
|
|
await page.goto(`${BASE_URL}/trainer/venue/list/`);
|
|
await page.waitForTimeout(2000);
|
|
const venuesTitle = await page.title();
|
|
console.log(` - Page title: ${venuesTitle}`);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-03-venues-list.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Test 4: Check Venue Manage
|
|
console.log('\n4. Testing Venue Manage Page...');
|
|
await page.goto(`${BASE_URL}/trainer/venue/manage/`);
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-04-venue-manage.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Test 5: Check Profile View
|
|
console.log('\n5. Testing Profile View Page...');
|
|
await page.goto(`${BASE_URL}/trainer/profile/`);
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-05-profile-view.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Test 6: Check Profile Edit
|
|
console.log('\n6. Testing Profile Edit Page...');
|
|
await page.goto(`${BASE_URL}/trainer/profile/edit/`);
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-06-profile-edit.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Test 7: Check Organizers List
|
|
console.log('\n7. Testing Organizers List Page...');
|
|
await page.goto(`${BASE_URL}/trainer/organizer/list/`);
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-07-organizers-list.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Test 8: Check Organizer Manage
|
|
console.log('\n8. Testing Organizer Manage Page...');
|
|
await page.goto(`${BASE_URL}/trainer/organizer/manage/`);
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-08-organizer-manage.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Test 9: Check Trainer Dashboard for navigation
|
|
console.log('\n9. Testing Trainer Dashboard...');
|
|
await page.goto(`${BASE_URL}/trainer/dashboard/`);
|
|
await page.waitForTimeout(2000);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-09-trainer-dashboard.png',
|
|
fullPage: true
|
|
});
|
|
|
|
console.log('\nAll tests completed!');
|
|
console.log('Check screenshots/ directory for results.');
|
|
|
|
} catch (error) {
|
|
console.error('Test error:', error);
|
|
await page.screenshot({
|
|
path: 'screenshots/deployed-error.png',
|
|
fullPage: true
|
|
});
|
|
} finally {
|
|
await browser.close();
|
|
}
|
|
}
|
|
|
|
testDeployedFeatures().catch(console.error); |