upskill-event-manager/wordpress-dev/tests/e2e/verify-dashboard-shows-events.test.ts

57 lines
No EOL
2.5 KiB
TypeScript

import { STAGING_URL, PATHS, TIMEOUTS } from './config/staging-config';
import { test, expect } from '@playwright/test';
test.describe('Dashboard Shows Events After Fix', () => {
test('dashboard should display event statistics', async ({ page }) => {
const staging_url = 'https://upskill-staging.measurequick.com';
// Login as test trainer
await page.goto(`${staging_url}/community-login`);
await page.fill('#user_login', 'test_trainer');
await page.fill('#user_pass', 'password123!');
await page.click('input[type="submit"]');
await page.waitForTimeout(3000);
// Go to dashboard
await page.goto(`${staging_url}/hvac-dashboard`);
await page.waitForLoadState('networkidle');
// Take a screenshot for debugging
await page.screenshot({ path: 'dashboard-with-stats.png' });
// Check for the stats cards
const statCards = await page.locator('.hvac-stat-card').count();
console.log('Number of stat cards found:', statCards);
expect(statCards).toBeGreaterThan(0);
// Check for specific stats
const totalEventsCard = await page.locator('.hvac-stat-card:has-text("Total Events")').isVisible();
expect(totalEventsCard).toBe(true);
// Get the total events value
const totalEventsValue = await page.locator('.hvac-stat-card:has-text("Total Events") p').textContent();
console.log('Total events value:', totalEventsValue);
// Check if events are showing in the table
const eventsTable = await page.locator('.events-table').isVisible();
expect(eventsTable).toBe(true);
// Count rows in the events table (excluding header)
const eventRows = await page.locator('.events-table tbody tr').count();
console.log('Number of event rows in table:', eventRows);
// If the author fix is working, the total events value should match the table rows
// (or at least show > 0 if events have been created by this user)
const totalEventsNumber = parseInt(totalEventsValue || '0');
console.log('Total events number:', totalEventsNumber);
// Check if other stats are displayed
const statsTexts = await page.locator('.hvac-stat-card h3').allTextContents();
console.log('All stat card titles:', statsTexts);
expect(statsTexts).toContain('Total Events');
expect(statsTexts).toContain('Upcoming Events');
expect(statsTexts).toContain('Past Events');
expect(statsTexts).toContain('Tickets Sold');
expect(statsTexts).toContain('Total Revenue');
});
});