57 lines
No EOL
2.5 KiB
TypeScript
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');
|
|
});
|
|
}); |