@@ -440,15 +440,6 @@ describe('isDisabled prop', () => {
440440 expect ( screen . getByRole ( 'button' , { name : requiredProps . name } ) ) . not . toBeDisabled ( ) ;
441441 } ) ;
442442
443- test ( 'Renders selectable button with disabled attribute when isDisabled is true' , ( ) => {
444- render ( < TreeViewListItem isSelectable isDisabled { ...requiredProps } /> ) ;
445-
446- const treeViewNode = screen . getByRole ( 'treeitem' ) . querySelector ( `.${ styles . treeViewNode } ` ) ;
447- const selectableButton = treeViewNode ?. querySelector ( 'button' ) ;
448- expect ( selectableButton ) . toBeDisabled ( ) ;
449- expect ( selectableButton ) . toHaveClass ( 'pf-m-disabled' ) ;
450- } ) ;
451-
452443 test ( 'Does not call onSelect when isDisabled is true' , async ( ) => {
453444 render ( < TreeViewListItem isDisabled onSelect = { onSelectMock } { ...requiredProps } /> ) ;
454445
@@ -480,6 +471,59 @@ describe('isDisabled prop', () => {
480471
481472 expect ( onCollapseMock ) . not . toHaveBeenCalled ( ) ;
482473 } ) ;
474+
475+ test ( 'Renders toggle with pf-m-disabled class when isDisabled is true for default TreeViewListItem' , ( ) => {
476+ render (
477+ < TreeViewListItem isDisabled { ...requiredProps } >
478+ Content
479+ </ TreeViewListItem >
480+ ) ;
481+
482+ const toggle = screen . getByText ( requiredProps . name ) . previousElementSibling ;
483+ expect ( toggle ) . toHaveClass ( 'pf-m-disabled' ) ;
484+ } ) ;
485+
486+ test ( 'Renders treeitem with aria-disabled when isDisabled is true for default TreeViewListItem' , ( ) => {
487+ render ( < TreeViewListItem isDisabled { ...requiredProps } /> ) ;
488+
489+ expect ( screen . getByRole ( 'treeitem' ) ) . toHaveAttribute ( 'aria-disabled' , 'true' ) ;
490+ } ) ;
491+
492+ test ( 'Renders treeitem with aria-disabled when isDisabled and isToggleDisabled are true and isSelectable is true' , ( ) => {
493+ render (
494+ < TreeViewListItem isSelectable isDisabled isToggleDisabled { ...requiredProps } >
495+ Content
496+ </ TreeViewListItem >
497+ ) ;
498+
499+ expect ( screen . getByRole ( 'treeitem' ) ) . toHaveAttribute ( 'aria-disabled' , 'true' ) ;
500+ } ) ;
501+
502+ test ( 'Renders treeitem with aria-disabled when isDisabled and isToggleDisabled are true and hasCheckbox is true' , ( ) => {
503+ render (
504+ < TreeViewListItem hasCheckbox isDisabled isToggleDisabled { ...requiredProps } >
505+ Content
506+ </ TreeViewListItem >
507+ ) ;
508+
509+ expect ( screen . getByRole ( 'treeitem' ) ) . toHaveAttribute ( 'aria-disabled' , 'true' ) ;
510+ } ) ;
511+
512+ test ( 'Does not render treeitem with aria-disabled when isDisabled is true, isToggleDisabled is false, and isSelectable is true' , ( ) => {
513+ render (
514+ < TreeViewListItem isSelectable isDisabled { ...requiredProps } >
515+ Content
516+ </ TreeViewListItem >
517+ ) ;
518+
519+ expect ( screen . getByRole ( 'treeitem' ) ) . not . toHaveAttribute ( 'aria-disabled' ) ;
520+ } ) ;
521+
522+ test ( 'Does not render treeitem with aria-disabled when isDisabled is false' , ( ) => {
523+ render ( < TreeViewListItem isDisabled = { false } { ...requiredProps } /> ) ;
524+
525+ expect ( screen . getByRole ( 'treeitem' ) ) . not . toHaveAttribute ( 'aria-disabled' ) ;
526+ } ) ;
483527} ) ;
484528
485529// Assisted by Cursor AI
@@ -579,6 +623,39 @@ describe('isToggleDisabled prop', () => {
579623
580624 expect ( onCollapseMock ) . not . toHaveBeenCalled ( ) ;
581625 } ) ;
626+
627+ test ( 'Renders toggle span with pf-m-disabled class when isDisabled is true for default TreeViewListItem' , ( ) => {
628+ render (
629+ < TreeViewListItem isDisabled { ...requiredProps } >
630+ Content
631+ </ TreeViewListItem >
632+ ) ;
633+
634+ const toggle = screen . getByText ( requiredProps . name ) . previousElementSibling ;
635+ expect ( toggle ) . toHaveClass ( 'pf-m-disabled' ) ;
636+ } ) ;
637+
638+ test ( 'Does not render toggle with pf-m-disabled class when isDisabled is true and hasCheckbox is true' , ( ) => {
639+ render (
640+ < TreeViewListItem hasCheckbox isDisabled { ...requiredProps } >
641+ Content
642+ </ TreeViewListItem >
643+ ) ;
644+
645+ const toggle = screen . getByText ( requiredProps . name ) . previousElementSibling ?. previousElementSibling ;
646+ expect ( toggle ) . not . toHaveClass ( 'pf-m-disabled' ) ;
647+ } ) ;
648+
649+ test ( 'Does not render toggle with pf-m-disabled class when isDisabled is true and isSelectable is true' , ( ) => {
650+ render (
651+ < TreeViewListItem isSelectable isDisabled { ...requiredProps } >
652+ Content
653+ </ TreeViewListItem >
654+ ) ;
655+
656+ const toggle = screen . getByText ( requiredProps . name ) . previousElementSibling ;
657+ expect ( toggle ) . not . toHaveClass ( 'pf-m-disabled' ) ;
658+ } ) ;
582659} ) ;
583660
584661describe ( 'Callback props' , ( ) => {
0 commit comments