# CV Project Test Suite (Active Tests) **27 comprehensive tests** covering all functionality from UI interactions to PDF generation. ## Quick Start ```bash # Run all tests with master test runner bun tests/run-all.mjs # Run individual test bun tests/mjs/0-zoom.test.mjs bun tests/mjs/28-references-pdf-download.test.mjs ``` ## Core Functionality Tests (0-14) ### 0-zoom.test.mjs Zoom control functionality - slider, toggle, persistence ### 1-toggles.test.mjs Length/Icon/Theme toggles with screenshot verification ### 2-keyboard-shortcuts.test.mjs L/I/V/? keyboard shortcuts ### 3-hyperscript.test.mjs Hyperscript parsing and function definitions ### 4-htmx.test.mjs HTMX library and request/response cycle ### 5-language.test.mjs Bilingual support (EN/ES) switching ### 6-modals.test.mjs Info, shortcuts, and PDF modal dialogs ### 7-mobile-responsive.test.mjs Mobile viewport and touch interactions ### 8-hover-sync.test.mjs Hover state synchronization across UI ### 9-hyperscript-def-limit.test.mjs Hyperscript 0.9.14+ def limit validation ### 10-zoom-persistence.test.mjs Zoom level localStorage persistence ### 11-zoom-ui-exclusion.test.mjs UI elements excluded from zoom ### 12-skeleton-language-transitions.test.mjs Skeleton loaders for language transitions (13 sections) ### 13-color-theme-switcher.test.mjs Dynamic color theme switcher (auto/light/dark) ### 14-button-positioning.test.mjs Responsive button positioning ## Advanced Feature Tests (15-28) ### 14-pdf-modal.test.mjs PDF download modal with thumbnail selection ### 15-icon-toggle-debug.test.mjs Icon toggle debugging and validation ### 22-theme-consistency.test.mjs Theme consistency across reloads ### 23-dark-theme-borders.test.mjs Dark theme border colors ### 24-course-inline-icons.test.mjs Course section inline icon sizes ### 24-pdf-download-params.test.mjs PDF download URL parameters ### 25-inline-icons-comprehensive.test.mjs Comprehensive inline icon testing ### 26-course-list-icons.test.mjs Course list icon rendering ### 27-course-icons-final.test.mjs Final course icon validation ### 28-references-pdf-download.test.mjs References section PDF download button ## Migration Tests ### test-preference-migration.test.mjs LocalStorage preference migration (extended→long, true/false→show/hide) ### verify-migration.test.mjs Migration verification and validation ## Test Requirements - **Server**: Running on http://localhost:1999 - **Browser**: Playwright Chromium (headed mode) - **Runtime**: Bun (`#!/usr/bin/env bun`) - **Exit**: Ctrl+C after manual verification ## Test Output All tests provide: - ✅ Clear pass/fail indicators - 📊 Summary of test results - ❌ Detailed error messages with file:line references - 🎉 Success confirmation - 💡 Browser stays open for manual inspection ## Screenshots Tests save screenshots to `tests/screenshots/`: - Before/after comparison for visual verification - Dark theme validation - Icon toggle validation ## Running Tests ```bash # All tests bun tests/run-all.mjs # Individual test bun tests/mjs/{number}-{feature}.test.mjs # Example bun tests/mjs/28-references-pdf-download.test.mjs ``` --- **Last Updated**: 2025-11-20 **Test Count**: 27 active tests **Coverage**: Complete functionality coverage **Status**: Production specification