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

51 lines
2.5 KiB
JavaScript

const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: false, slowMo: 800 });
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 }
});
const page = await context.newPage();
console.log('📄 Loading English page...\n');
await page.goto('http://localhost:1999/?lang=en');
await page.waitForLoadState('networkidle');
console.log('✅ Checking initial state:');
const enActive1 = await page.locator('button[aria-label="English"]').evaluate(el => el.classList.contains('active'));
const esActive1 = await page.locator('button[aria-label="Español"]').evaluate(el => el.classList.contains('active'));
console.log(` EN button active: ${enActive1} (expected: true)`);
console.log(` ES button active: ${esActive1} (expected: false)\n`);
console.log('🌍 Clicking Spanish button...');
await page.click('button[aria-label="Español"]');
await page.waitForTimeout(1000);
console.log('✅ Checking after Spanish click:');
const enActive2 = await page.locator('button[aria-label="English"]').evaluate(el => el.classList.contains('active'));
const esActive2 = await page.locator('button[aria-label="Español"]').evaluate(el => el.classList.contains('active'));
console.log(` EN button active: ${enActive2} (expected: false)`);
console.log(` ES button active: ${esActive2} (expected: true)\n`);
console.log('🌍 Clicking English button...');
await page.click('button[aria-label="English"]');
await page.waitForTimeout(1000);
console.log('✅ Checking after English click:');
const enActive3 = await page.locator('button[aria-label="English"]').evaluate(el => el.classList.contains('active'));
const esActive3 = await page.locator('button[aria-label="Español"]').evaluate(el => el.classList.contains('active'));
console.log(` EN button active: ${enActive3} (expected: true)`);
console.log(` ES button active: ${esActive3} (expected: false)\n`);
const allCorrect = enActive1 && !esActive1 && !enActive2 && esActive2 && enActive3 && !esActive3;
console.log(`\n${allCorrect ? '✅ ALL TESTS PASSED!' : '❌ SOME TESTS FAILED'}`);
console.log('\n📊 FIXES:');
console.log(' ✅ Language buttons now update automatically');
console.log(' ✅ Only CV content fades (not the white paper)');
console.log(' ✅ Navigation bar stays solid');
console.log(' ✅ Smooth, professional transition!');
await page.waitForTimeout(2000);
await browser.close();
})();