67 lines
		
	
	
		
			No EOL
		
	
	
		
			3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			No EOL
		
	
	
		
			3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { STAGING_URL, PATHS, TIMEOUTS } from './config/staging-config';
 | |
| import { test } from '@playwright/test';
 | |
| 
 | |
| test.describe('Debug Find Events', () => {
 | |
|     test('Look for events in all filters', async ({ page }) => {
 | |
|         page.setDefaultTimeout(60000);
 | |
|         
 | |
|         // Navigate directly to community-login
 | |
|         const loginUrl = 'https://upskill-staging.measurequick.com/community-login/';
 | |
|         await page.goto(loginUrl);
 | |
|         await page.waitForLoadState('networkidle');
 | |
|         
 | |
|         // Login
 | |
|         await page.fill('#user_login', 'test_trainer');
 | |
|         await page.fill('#user_pass', 'Test123!');
 | |
|         await page.click('#wp-submit');
 | |
|         await page.waitForURL((url) => !url.toString().includes('community-login'));
 | |
|         
 | |
|         // We should be on dashboard
 | |
|         console.log('Dashboard URL:', page.url());
 | |
|         
 | |
|         // Check stats
 | |
|         const totalEvents = await page.locator('.stat-value').first().textContent();
 | |
|         console.log('Total Events in stats:', totalEvents);
 | |
|         
 | |
|         // Check if events table is visible
 | |
|         const tableVisible = await page.locator('.events-list').isVisible();
 | |
|         console.log('Events table visible:', tableVisible);
 | |
|         
 | |
|         // Click on different filter tabs
 | |
|         const filters = ['ALL', 'PUBLISH', 'DRAFT', 'PENDING', 'PRIVATE'];
 | |
|         
 | |
|         for (const filter of filters) {
 | |
|             try {
 | |
|                 await page.click(`button:has-text("${filter}")`);
 | |
|                 await page.waitForTimeout(1000);
 | |
|                 
 | |
|                 // Check rows in the table
 | |
|                 const rows = await page.locator('.events-list tbody tr').count();
 | |
|                 console.log(`${filter} filter - Rows found:`, rows);
 | |
|                 
 | |
|                 // Check if there's a "No events found" message
 | |
|                 const noEventsMessage = await page.locator('.events-list tbody tr td:has-text("No events found")').count();
 | |
|                 console.log(`${filter} filter - No events message:`, noEventsMessage > 0);
 | |
|                 
 | |
|                 // If rows > 0 and not "No events found", list event details
 | |
|                 if (rows > 0 && noEventsMessage === 0) {
 | |
|                     for (let i = 0; i < rows; i++) {
 | |
|                         const eventName = await page.locator(`.events-list tbody tr:nth-child(${i + 1}) td:nth-child(2)`).textContent();
 | |
|                         const eventStatus = await page.locator(`.events-list tbody tr:nth-child(${i + 1}) td:nth-child(1)`).textContent();
 | |
|                         console.log(`Event ${i + 1}: ${eventName} (Status: ${eventStatus})`);
 | |
|                     }
 | |
|                 }
 | |
|             } catch (e) {
 | |
|                 console.log(`Error clicking ${filter} filter:`, e.message);
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         // Check MY EVENTS page too
 | |
|         await page.click('a:has-text("MY EVENTS")');
 | |
|         await page.waitForLoadState('networkidle');
 | |
|         console.log('MY EVENTS URL:', page.url());
 | |
|         
 | |
|         // Take screenshot
 | |
|         await page.screenshot({ path: 'test-results/screenshots/my-events-page.png', fullPage: true });
 | |
|     });
 | |
| }); |