@@ -98,6 +98,28 @@ describe('<CourseOutlineTray />', () => {
98
98
expect ( mockToggleSidebar ) . toHaveBeenCalledWith ( null ) ;
99
99
} ) ;
100
100
101
+ it ( 'toggles openSequenceId correctly when a sequence is clicked' , async ( ) => {
102
+ await initTestStore ( ) ;
103
+ renderWithProvider ( ) ;
104
+ const sequenceButton = screen . getByRole ( 'button' , { name : `${ sequence . title } , ${ courseOutlineMessages . incompleteAssignment . defaultMessage } ` } ) ;
105
+ expect ( sequenceButton ) . toBeInTheDocument ( ) ;
106
+ userEvent . click ( sequenceButton ) ;
107
+ expect ( screen . getByRole ( 'button' , { name : `${ sequence . title } , ${ courseOutlineMessages . incompleteAssignment . defaultMessage } ` } ) ) . toHaveAttribute ( 'aria-expanded' , 'true' ) ;
108
+ userEvent . click ( sequenceButton ) ;
109
+ expect ( screen . getByRole ( 'button' , { name : `${ sequence . title } , ${ courseOutlineMessages . incompleteAssignment . defaultMessage } ` } ) ) . toHaveAttribute ( 'aria-expanded' , 'false' ) ;
110
+ } ) ;
111
+
112
+ it ( 'updates setOpenSequenceId correctly when toggling sequences' , async ( ) => {
113
+ await initTestStore ( ) ;
114
+ renderWithProvider ( ) ;
115
+ const sequenceButton = screen . getByRole ( 'button' , { name : `${ sequence . title } , ${ courseOutlineMessages . incompleteAssignment . defaultMessage } ` } ) ;
116
+ expect ( sequenceButton ) . toBeInTheDocument ( ) ;
117
+ userEvent . click ( sequenceButton ) ;
118
+ expect ( sequenceButton ) . toHaveAttribute ( 'aria-expanded' , 'true' ) ;
119
+ userEvent . click ( sequenceButton ) ;
120
+ expect ( sequenceButton ) . toHaveAttribute ( 'aria-expanded' , 'false' ) ;
121
+ } ) ;
122
+
101
123
it ( 'navigates to section or sequence level correctly on click by back/section button' , async ( ) => {
102
124
await initTestStore ( ) ;
103
125
renderWithProvider ( ) ;
0 commit comments