fix: correct sidebar element IDs, add missing CSS classes, and align test mocks

Three-part consistency defect identified in code review:

1. HTML: Four sidebar elements missing CSS class attributes so all CSS
   rules targeting .session-sidebar, .sidebar-toggle-btn,
   .sidebar-collapse-btn, and .sidebar-list applied to zero elements.
   Added class= attributes to all four.

2. JS: initSidebar(), toggleSidebar(), and bindSidebarClickAway() called
   $('sidebar') and $('collapse-btn') — neither ID exists in the DOM.
   Corrected to $('session-sidebar') and $('sidebar-collapse-btn').

3. Tests: initSidebar/toggleSidebar mocks matched the wrong IDs, masking
   the defect. Updated all six mock conditions to match corrected IDs.

4. Coverage gap: test_html_element_classes did not verify new sidebar
   elements carry CSS classes. Added four entries for session-sidebar,
   sidebar-toggle-btn, sidebar-collapse-btn, and sidebar-list — these
   entries would have caught Defect 1 on Task 1's test run.

All 136 JS + 167 Python tests pass. Zero regressions.
This commit is contained in:
Brian Krabach
2026-03-27 18:02:29 -07:00
parent b62bd3e361
commit f41061f85f
4 changed files with 28 additions and 20 deletions
+4 -4
View File
@@ -30,17 +30,17 @@
<div id="view-expanded" class="view hidden">
<header class="expanded-header">
<button id="back-btn" class="back-btn" aria-label="Back">&#8592;</button>
<button id="sidebar-toggle-btn" aria-label="Toggle session list">&#9776;</button>
<button id="sidebar-toggle-btn" class="sidebar-toggle-btn" aria-label="Toggle session list">&#9776;</button>
<span id="expanded-session-name" class="expanded-session-name"></span>
<button id="palette-trigger" class="palette-trigger" aria-label="Open command palette">&#8984;K</button>
</header>
<div class="view-body">
<div id="session-sidebar">
<div id="session-sidebar" class="session-sidebar">
<div class="sidebar-header">
<span class="sidebar-title">Sessions</span>
<button id="sidebar-collapse-btn" aria-label="Collapse session list">&#8249;</button>
<button id="sidebar-collapse-btn" class="sidebar-collapse-btn" aria-label="Collapse session list">&#8249;</button>
</div>
<div id="sidebar-list"></div>
<div id="sidebar-list" class="sidebar-list"></div>
</div>
<div id="terminal-container" class="terminal-container"></div>
</div>