upskill-event-manager/wordpress-dev/tests/e2e/test-admin-dashboard.test.ts
bengizmo 43e0bb10f5 Fix PHP compatibility issues causing dashboard 500 errors
- Removed PHP 7.4+ type declarations (private int, return types) that were causing fatal errors
- Fixed constructor parameter and property declarations for older PHP versions
- Created minimal dashboard data class as emergency fallback
- Root cause: Server running older PHP version incompatible with modern type declarations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 20:25:31 -03:00

75 lines
No EOL
3.3 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('Test Dashboard with Admin User', async ({ page }) => {
console.log('Testing with admin credentials...');
// Go to WordPress admin login
await page.goto('https://upskill-staging.measurequick.com/wp-admin/');
await page.waitForLoadState('networkidle');
// Try admin login
await page.fill('#user_login', 'devadmin');
await page.fill('#user_pass', 'zc3CQlCOr9ZZBZDakecTqcOt');
await page.click('#wp-submit');
await page.waitForLoadState('networkidle');
console.log('Admin login URL:', page.url());
if (page.url().includes('wp-admin')) {
console.log('✓ Admin login successful');
// Navigate to HVAC dashboard
await page.goto('https://upskill-staging.measurequick.com/hvac-dashboard/');
await page.waitForLoadState('networkidle');
console.log('Dashboard URL:', page.url());
console.log('Dashboard Title:', await page.title());
// Take screenshot
await page.screenshot({ path: 'admin-dashboard-test.png' });
// Check for dashboard elements
const statsCards = await page.locator('.hvac-stat-card').count();
console.log('Stats cards found:', statsCards);
if (statsCards > 0) {
console.log('✓ Dashboard stats are visible');
// Get stat values
const totalEventsElement = page.locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value');
const upcomingEventsElement = page.locator('.hvac-stat-card:has-text("Upcoming Events") .hvac-stat-value');
const ticketsSoldElement = page.locator('.hvac-stat-card:has-text("Tickets Sold") .hvac-stat-value');
const totalRevenueElement = page.locator('.hvac-stat-card:has-text("Total Revenue") .hvac-stat-value');
const totalEvents = await totalEventsElement.textContent().catch(() => 'N/A');
const upcomingEvents = await upcomingEventsElement.textContent().catch(() => 'N/A');
const ticketsSold = await ticketsSoldElement.textContent().catch(() => 'N/A');
const totalRevenue = await totalRevenueElement.textContent().catch(() => 'N/A');
console.log('Dashboard Stats:');
console.log('- Total Events:', totalEvents);
console.log('- Upcoming Events:', upcomingEvents);
console.log('- Tickets Sold:', ticketsSold);
console.log('- Total Revenue:', totalRevenue);
}
// Check certificate reports
await page.goto('https://upskill-staging.measurequick.com/certificate-reports/');
await page.waitForLoadState('networkidle');
console.log('Certificate Reports URL:', page.url());
const hasError = await page.locator('text=critical error').count() > 0;
if (hasError) {
console.log('✗ Certificate Reports still has critical error');
} else {
console.log('✓ Certificate Reports loads without critical error');
}
await page.screenshot({ path: 'certificate-reports-test.png' });
} else {
console.log('✗ Admin login failed');
await page.screenshot({ path: 'admin-login-failed.png' });
}
});