139 lines
5.1 KiB
JavaScript
139 lines
5.1 KiB
JavaScript
// Test script for UI fixes: SideBarExplanation height and DynamicForm single column
|
|
// This can be run in the browser console when the chat client is loaded
|
|
|
|
console.log('Testing UI fixes...');
|
|
|
|
// Test SideBarExplanation height fix
|
|
function testSideBarExplanationHeight() {
|
|
console.log('🧪 Testing SideBarExplanation height fix...');
|
|
|
|
const sidebarExplanation = document.querySelector('.sidebar-explanation');
|
|
if (!sidebarExplanation) {
|
|
console.warn('⚠️ SideBarExplanation element not found');
|
|
return false;
|
|
}
|
|
|
|
const computedStyle = window.getComputedStyle(sidebarExplanation);
|
|
const flexValue = computedStyle.getPropertyValue('flex');
|
|
|
|
console.log('📏 SideBarExplanation flex value:', flexValue);
|
|
|
|
if (flexValue === '1 1 0%' || flexValue === '1') {
|
|
console.error('❌ SideBarExplanation still has flex: 1 - height fix failed');
|
|
return false;
|
|
} else {
|
|
console.log('✅ SideBarExplanation height fix successful - no flex: 1 found');
|
|
return true;
|
|
}
|
|
}
|
|
|
|
// Test DynamicForm single column layout
|
|
function testDynamicFormSingleColumn() {
|
|
console.log('🧪 Testing DynamicForm single column layout...');
|
|
|
|
const formFields = document.querySelector('.form-fields');
|
|
if (!formFields) {
|
|
console.warn('⚠️ DynamicForm .form-fields element not found');
|
|
return false;
|
|
}
|
|
|
|
const computedStyle = window.getComputedStyle(formFields);
|
|
const gridColumns = computedStyle.getPropertyValue('grid-template-columns');
|
|
|
|
console.log('📐 DynamicForm grid-template-columns:', gridColumns);
|
|
|
|
// Check if it's single column (should be "1fr" or similar)
|
|
if (gridColumns.includes('1fr 1fr') || gridColumns.includes('repeat(2, 1fr)')) {
|
|
console.error('❌ DynamicForm still has 2-column layout - single column fix failed');
|
|
return false;
|
|
} else if (gridColumns === '1fr' || gridColumns.includes('1fr') && !gridColumns.includes('1fr 1fr')) {
|
|
console.log('✅ DynamicForm single column fix successful');
|
|
return true;
|
|
} else {
|
|
console.warn('⚠️ DynamicForm has unexpected grid layout:', gridColumns);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Test CSS media query removal
|
|
function testMediaQueryRemoval() {
|
|
console.log('🧪 Testing media query removal...');
|
|
|
|
// Create a test element to check if media queries still apply
|
|
const testDiv = document.createElement('div');
|
|
testDiv.className = 'form-fields';
|
|
testDiv.style.display = 'none';
|
|
document.body.appendChild(testDiv);
|
|
|
|
// Force a larger screen width for testing
|
|
const originalWidth = window.innerWidth;
|
|
|
|
// Check computed style at different screen sizes
|
|
const computedStyle = window.getComputedStyle(testDiv);
|
|
const gridColumns = computedStyle.getPropertyValue('grid-template-columns');
|
|
|
|
document.body.removeChild(testDiv);
|
|
|
|
console.log('📱 Media query test - grid columns:', gridColumns);
|
|
|
|
if (gridColumns === '1fr') {
|
|
console.log('✅ Media query removal successful - single column maintained');
|
|
return true;
|
|
} else {
|
|
console.warn('⚠️ Media query might still be active:', gridColumns);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Run all tests
|
|
function runAllUITests() {
|
|
console.log('🚀 Starting UI fixes tests...');
|
|
|
|
console.log('\n1. Testing SideBarExplanation height fix...');
|
|
const heightTest = testSideBarExplanationHeight();
|
|
|
|
console.log('\n2. Testing DynamicForm single column layout...');
|
|
const columnTest = testDynamicFormSingleColumn();
|
|
|
|
console.log('\n3. Testing media query removal...');
|
|
const mediaTest = testMediaQueryRemoval();
|
|
|
|
console.log('\n📊 Test Results Summary:');
|
|
console.log(`SideBarExplanation Height Fix: ${heightTest ? '✅' : '❌'}`);
|
|
console.log(`DynamicForm Single Column: ${columnTest ? '✅' : '❌'}`);
|
|
console.log(`Media Query Removal: ${mediaTest ? '✅' : '⚠️'}`);
|
|
|
|
const allPassed = heightTest && columnTest;
|
|
console.log(`\n🎯 Overall Status: ${allPassed ? '✅ All critical tests passed!' : '⚠️ Some tests need attention'}`);
|
|
|
|
return {
|
|
heightFix: heightTest,
|
|
singleColumn: columnTest,
|
|
mediaQuery: mediaTest,
|
|
overall: allPassed
|
|
};
|
|
}
|
|
|
|
// Export for manual testing
|
|
if (typeof window !== 'undefined') {
|
|
window.testSideBarExplanationHeight = testSideBarExplanationHeight;
|
|
window.testDynamicFormSingleColumn = testDynamicFormSingleColumn;
|
|
window.testMediaQueryRemoval = testMediaQueryRemoval;
|
|
window.runAllUITests = runAllUITests;
|
|
|
|
console.log('UI test functions available:');
|
|
console.log('- testSideBarExplanationHeight()');
|
|
console.log('- testDynamicFormSingleColumn()');
|
|
console.log('- testMediaQueryRemoval()');
|
|
console.log('- runAllUITests()');
|
|
}
|
|
|
|
// Auto-run if in Node.js environment (for CI/CD)
|
|
if (typeof module !== 'undefined' && module.exports) {
|
|
module.exports = {
|
|
testSideBarExplanationHeight,
|
|
testDynamicFormSingleColumn,
|
|
testMediaQueryRemoval,
|
|
runAllUITests
|
|
};
|
|
} |