Skip to content

test(learn): real zero-scroll sidebar for the mid-size course in lesson-shell - #60

Merged
wiggdevin merged 1 commit into
mainfrom
claude/fix-lesson-shell-pr53-1lfluc
Oct 22, 2026
Merged

wiggdevin merged 1 commit into
mainfrom
claude/fix-lesson-shell-pr53-1lfluc

Conversation

@wiggdevin

@wiggdevin wiggdevin commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Why

A review NIT on #53 after merge: the 13-lesson case in lesson-shell.spec.ts was meant to cover a sidebar whose box cannot scroll, where only the window can reveal the last lesson. At 1280x800 the sidebar is about 44px plus 63px per lesson in a 752px box, so 13 lessons gave about 108px of scroll inside the box. The case passed, but it tested something other than what its name said.

What users will see

Nothing. Test-only change.

What changed

  • apps/web/e2e/lesson-shell.spec.ts: the mid-size course has 10 lessons, which fit the box with no scroll of their own while still reaching below the window at the top of the page.
  • Before the reveal assertions, the 10-lesson case now asserts its set-up: maxScrollTop === 0 (scrollHeight - clientHeight of [data-outline-scroll]) and that the box reaches below the window.
  • The comment explains the sizing.

Validation

  • pnpm check: passed at 6e0fccb (1325 unit tests, build compiled).
  • supabase test db: not applicable, no migration or policy change.
  • Owner race test: not applicable.
  • Playwright e2e, dev server against a private local stack at 6e0fccb: e2e/lesson-shell.spec.ts 25 passed. The production-build run was not done for this test-only change; CI covers it.
  • Red test first: the 10-lesson case fails against outline-sheet.tsx from cf3483b (before the round-3 fix) on "ring above the window bottom", after its new set-up assertions pass. It passes on main.
  • Cross-family review: pending (LEAD).

Review receipt

  • Reviewed head SHA:
  • Reviewer model and scope (standards/spec when applicable):
  • BLOCK/WARN dispositions (fixed or rejected with evidence; remaining items):
  • Review receipt link or private receipt reference:

Merge danger

Two-way door. Blast radius: one e2e test.


Generated by Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…assert it as a precondition

At 1280x800 the sidebar is about 44px plus 63px per lesson in a 752px box, so 13 lessons scrolled about 108px inside the box. Ten lessons fit the box yet reach below the window, so only the window can reveal the last lesson. The test now asserts maxScrollTop is 0 and that the box reaches below the window before it checks the reveal.
@wiggdevin

Copy link
Copy Markdown
Contributor Author

Coordinator review: approved. This is a test-only change. 10 lessons give about 44 + 630 = 674px, which fits the 752px box (maxScrollTop 0). At scrollY=0 the bottom is at about 847px, below the 800px window, so this exercises the zero-scroll clamp the round-4 NIT asked for. Landing on green.

@wiggdevin
wiggdevin marked this pull request as ready for review October 22, 2026 16:45
@wiggdevin
wiggdevin merged commit 2692755 into main Oct 22, 2026
4 checks passed
@wiggdevin
wiggdevin deleted the claude/fix-lesson-shell-pr53-1lfluc branch October 22, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants