From 29e1e7c64cb121c8a9da1f9c98203d89516caab6 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Fri, 3 Jul 2026 09:35:51 -0400 Subject: [PATCH] =?UTF-8?q?test(web/tuning):=20marker=20summary=20appears?= =?UTF-8?q?=20in=20tooltips=20too=20=E2=80=94=20use=20getAllByText?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The knob-turn summary renders both as the sparkline tick tooltips (one per series) and in the list under the chart; the single-element query tripped on the duplicates in CI run 1906. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01TsF3cNoKrqCYsU78cXC8U6 --- web/src/routes/admin/tuning/tuning.test.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/web/src/routes/admin/tuning/tuning.test.ts b/web/src/routes/admin/tuning/tuning.test.ts index 546d5b25..d953d164 100644 --- a/web/src/routes/admin/tuning/tuning.test.ts +++ b/web/src/routes/admin/tuning/tuning.test.ts @@ -178,8 +178,11 @@ describe('Admin tuning page', () => { // Latest skip rate column for radio = 40% (also discover's latest // completion, hence getAllBy). expect(screen.getAllByText('40%').length).toBeGreaterThan(0); - // The knob turn is listed under the chart. - expect(screen.getByText(/2026-06-30 — radio: taste_weight 1→2/)).toBeInTheDocument(); + // The knob turn is listed under the chart AND tooltipped on each + // sparkline's marker tick, hence getAllBy. + expect( + screen.getAllByText(/2026-06-30 — radio: taste_weight 1→2/).length + ).toBeGreaterThan(0); // Low-volume series (5 plays) is dimmed as anecdote. expect(screen.getByTitle(/fewer than 20 plays in the window/i)).toBeInTheDocument(); });