@@ -409,6 +409,29 @@ def test_correlation_legend_has_segment_entries(self, fritzbox_page):
409409 text = legend .text_content ()
410410 assert "Segment" in text , f"Legend should mention Segment, got: { text } "
411411
412+ def test_correlation_hover_shows_tooltip_and_highlights_timeline (self , fritzbox_page ):
413+ """Hovering the correlation chart should keep tooltip and timeline sync working with segment data."""
414+ errors = []
415+ fritzbox_page .on ("pageerror" , lambda err : errors .append (str (err )))
416+ fritzbox_page .locator ('a.nav-item[data-view="correlation"]' ).click ()
417+ fritzbox_page .wait_for_timeout (3000 )
418+
419+ overlay = fritzbox_page .locator ("canvas#correlation-overlay" )
420+ box = overlay .bounding_box ()
421+ assert box , "Correlation overlay should be present for hover interactions"
422+
423+ fritzbox_page .mouse .move (box ["x" ] + box ["width" ] * 0.55 , box ["y" ] + box ["height" ] * 0.45 )
424+ fritzbox_page .wait_for_timeout (400 )
425+
426+ tooltip = fritzbox_page .locator ("#correlation-tooltip" )
427+ assert tooltip .is_visible (), "Correlation tooltip should appear on hover"
428+
429+ highlighted = fritzbox_page .locator ("#correlation-tbody tr.corr-highlight" )
430+ assert highlighted .count () > 0 , "Unified timeline should highlight at least one hovered entry"
431+
432+ hover_errors = [e for e in errors if "hoverT" in e or "undefined" in e .lower ()]
433+ assert len (hover_errors ) == 0 , f"Correlation hover should not raise JS errors: { hover_errors } "
434+
412435
413436# ── View Div Presence ──
414437
0 commit comments