@@ -468,6 +468,52 @@ describe('VersionSelector', () => {
468468 } )
469469 } )
470470
471+ it ( 'does not reveal unrelated older groups when expanding a tagged row with nested versions' , async ( ) => {
472+ mockFetchAllPackageVersions . mockResolvedValue ( [
473+ { version : '1.2.0' , time : '2024-01-15T12:00:00.000Z' , hasProvenance : false } ,
474+ { version : '1.1.0' , time : '2024-01-12T12:00:00.000Z' , hasProvenance : false } ,
475+ { version : '1.0.0' , time : '2024-01-10T12:00:00.000Z' , hasProvenance : false } ,
476+ { version : '0.9.0' , time : '2024-01-08T12:00:00.000Z' , hasProvenance : false } ,
477+ ] )
478+
479+ const component = await mountSuspended ( VersionSelector , {
480+ props : {
481+ packageName : 'test-package' ,
482+ currentVersion : '1.2.0' ,
483+ versions : { '1.2.0' : { } , '1.1.0' : { } , '1.0.0' : { } , '0.9.0' : { } } ,
484+ distTags : { latest : '1.2.0' } ,
485+ urlPattern : '/package-docs/test-package/v/{version}' ,
486+ } ,
487+ } )
488+
489+ const trigger = component . find ( 'button[aria-haspopup="listbox"]' )
490+ await trigger . trigger ( 'click' )
491+
492+ const expandButton = component . find ( '[role="listbox"] button[aria-expanded="false"]' )
493+ await expandButton . trigger ( 'click' )
494+
495+ await vi . waitFor ( ( ) => {
496+ expect ( mockFetchAllPackageVersions ) . toHaveBeenCalledWith ( 'test-package' )
497+ } )
498+
499+ await vi . waitFor ( ( ) => {
500+ const listboxText = component . find ( '[role="listbox"]' ) . text ( )
501+ expect ( listboxText ) . toContain ( '1.1.0' )
502+ expect ( listboxText ) . toContain ( '1.0.0' )
503+ expect ( listboxText ) . not . toContain ( '0.9' )
504+ } )
505+
506+ const expandedButton = component . find ( '[role="listbox"] button[aria-expanded="true"]' )
507+ await expandedButton . trigger ( 'click' )
508+
509+ await vi . waitFor ( ( ) => {
510+ const listboxText = component . find ( '[role="listbox"]' ) . text ( )
511+ expect ( listboxText ) . not . toContain ( '1.1.0' )
512+ expect ( listboxText ) . not . toContain ( '1.0.0' )
513+ expect ( listboxText ) . not . toContain ( '0.9' )
514+ } )
515+ } )
516+
471517 it ( 'collapses additional version groups with ArrowLeft when showAllGroups is open' , async ( ) => {
472518 mockFetchAllPackageVersions . mockResolvedValue ( [
473519 { version : '1.0.0' , time : '2024-01-15T12:00:00.000Z' , hasProvenance : false } ,
0 commit comments