Files
cv-site/tests/test-mobile-click.js
T
juanatsap 1f7757c848 good
2025-11-15 15:59:54 +00:00

65 lines
2.3 KiB
JavaScript

const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: false, slowMo: 600 });
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 }
});
const page = await context.newPage();
console.log('🔍 Mobile Toggle Click Investigation\n');
// Capture ALL console messages
page.on('console', msg => {
console.log(` [${msg.type().toUpperCase()}]`, msg.text());
});
// Capture page errors
page.on('pageerror', error => {
console.log(` ❌ PAGE ERROR: ${error.message}`);
});
await page.goto('http://localhost:1999/?lang=en');
await page.waitForLoadState('networkidle');
await page.evaluate(() => window.scrollTo(0, 0));
await page.waitForTimeout(500);
// First click desktop to set state
console.log('Step 1: Click Desktop (to set up state)\n');
await page.locator('#desktop-length-toggle .icon-toggle').click();
await page.waitForTimeout(2000);
// Open menu
console.log('\nStep 2: Open Hamburger Menu\n');
await page.locator('.hamburger-btn').click();
await page.waitForTimeout(1000);
// Check if mobile toggle is visible and clickable
const mobileToggle = page.locator('#mobile-length-toggle');
const isVisible = await mobileToggle.isVisible();
console.log(` Mobile toggle visible: ${isVisible}`);
const mobileInput = page.locator('#lengthToggleMenu');
const inputVisible = await mobileInput.isVisible();
console.log(` Mobile input visible: ${inputVisible}`);
// Try clicking directly on the input
console.log('\nStep 3: Attempting to click mobile toggle label\n');
try {
await page.locator('#mobile-length-toggle .icon-toggle').click({timeout: 5000});
console.log(' ✅ Click executed');
} catch (e) {
console.log(` ❌ Click failed: ${e.message}`);
}
await page.waitForTimeout(3000);
// Final state check
const finalDesktop = await page.evaluate(() => document.querySelector('#lengthToggle')?.checked);
const finalMobile = await page.evaluate(() => document.querySelector('#lengthToggleMenu')?.checked);
console.log(`\nFinal State: Desktop=${finalDesktop}, Mobile=${finalMobile}`);
await page.waitForTimeout(2000);
await browser.close();
})();