@@ -4,11 +4,15 @@ import { render, screen } from '../../../test-utils/testing-library';
44import BoxAISidebar , { BoxAISidebarProps } from '../BoxAISidebar' ;
55
66let MockBoxAiAgentSelectorWithApi : jest . Mock ;
7+ let mockUseAgents : jest . Mock ;
8+
79jest . mock ( '@box/box-ai-agent-selector' , ( ) => {
810 MockBoxAiAgentSelectorWithApi = jest . fn ( ) ;
11+ mockUseAgents = jest . fn ( ) ;
912 return {
1013 ...jest . requireActual ( '@box/box-ai-agent-selector' ) ,
1114 BoxAiAgentSelectorWithApi : MockBoxAiAgentSelectorWithApi ,
15+ useAgents : mockUseAgents ,
1216 } ;
1317} ) ;
1418
@@ -39,6 +43,7 @@ jest.mock('@box/box-ai-content-answers', () => ({
3943 onClearAction = { mockOnClearAction }
4044 onCloseModal = { jest . fn ( ) }
4145 onSelectAgent = { jest . fn ( ) }
46+ onSelectedAgentCallback = { props . onSelectedAgentCallback }
4247 onSuggestedQuestionsFetched = { props . onSuggestedQuestionsFetched }
4348 onAgentEditorToggle = { jest . fn ( ) }
4449 questions = { props . restoredQuestions }
@@ -145,6 +150,12 @@ describe('elements/content-sidebar/BoxAISidebar', () => {
145150
146151 beforeEach ( ( ) => {
147152 MockBoxAiAgentSelectorWithApi . mockImplementation ( ( ) => < div data-testid = "sidebar-agent-selector" /> ) ;
153+ mockUseAgents . mockReturnValue ( {
154+ agents : [ ] ,
155+ selectedAgent : { id : '1' , config : { } , name : 'Test Agent' } ,
156+ setSelectedAgent : jest . fn ( ) ,
157+ requestState : 'success' ,
158+ } ) ;
148159 } ) ;
149160
150161 afterEach ( ( ) => {
@@ -465,4 +476,14 @@ describe('elements/content-sidebar/BoxAISidebar', () => {
465476
466477 expect ( mockProps . onUserInteraction ) . toHaveBeenCalled ( ) ;
467478 } ) ;
479+
480+ test ( 'Should call onSelectedAgentCallback on agent selected change' , async ( ) => {
481+ const mockOnSelectedAgentCallback = jest . fn ( ) ;
482+
483+ await renderComponent ( {
484+ onSelectedAgentCallback : mockOnSelectedAgentCallback ,
485+ } ) ;
486+
487+ expect ( mockOnSelectedAgentCallback ) . toHaveBeenCalled ( ) ;
488+ } ) ;
468489} ) ;
0 commit comments