upskill-event-manager/wordpress-dev/tests/e2e/button-click-test.test.ts
bengizmo 83f9285926 feat: Complete communication templates system with modal interface
- Implement full CRUD operations for email template management
- Create modal-based interface with form validation and category organization
- Add dynamic placeholder system for personalizing emails with attendee/event data
- Integrate AJAX handlers for real-time save/load operations without page refresh
- Fix JavaScript conflicts by implementing override system after wp_footer()
- Add comprehensive E2E test coverage with Playwright validation
- Support default template installation for new trainers
- Enable REST API access for template post type
- Include extensive debugging and validation testing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 23:48:18 -03:00

51 lines
No EOL
1.9 KiB
TypeScript

import { test, expect } from './fixtures/auth';
import { CommonActions } from './utils/common-actions';
test('Test button click functionality', async ({ authenticatedPage: page }) => {
test.setTimeout(30000);
const actions = new CommonActions(page);
// Capture console messages
const consoleMessages: string[] = [];
page.on('console', (msg) => {
consoleMessages.push(`[${msg.type()}] ${msg.text()}`);
});
// Navigate to templates page
await actions.navigateAndWait('/communication-templates/');
// Wait for scripts and override
await page.waitForFunction(() => typeof HVACTemplates !== 'undefined');
await page.waitForTimeout(2000); // Give the override time to load
// Click the Create New Template button
const createButton = page.locator('button:has-text("Create New Template")');
await expect(createButton).toBeVisible();
console.log('Clicking Create New Template button...');
await createButton.click();
// Wait for modal to appear
await page.waitForTimeout(1000);
// Check if modal is visible
const modalVisible = await page.locator('#template-form-overlay').isVisible();
console.log('Modal visible after button click:', modalVisible);
// If modal is visible, interact with it
if (modalVisible) {
await expect(page.locator('#hvac_template_title')).toBeVisible();
await page.fill('#hvac_template_title', 'Button Click Test Template');
await page.fill('#hvac_template_content', 'This template was created by clicking the button!');
await page.selectOption('#hvac_template_category', 'general');
await actions.screenshot('button-click-modal-filled');
console.log('Successfully filled modal form via button click');
} else {
await actions.screenshot('button-click-no-modal');
console.log('Modal did not appear after button click');
}
// Log console messages
console.log('Console messages:', consoleMessages.slice(-10)); // Last 10 messages
});