@@ -11,6 +11,7 @@ const mockDispatch = jest.fn();
1111const mockSetNativeAcceptedCallId = jest . fn ( ) ;
1212const mockAddEventListener = jest . fn ( ) ;
1313const mockRNCallKeepClearInitialEvents = jest . fn ( ) ;
14+ const mockSetCurrentCallActive = jest . fn ( ) ;
1415
1516jest . mock ( '../../methods/helpers' , ( ) => ( {
1617 ...jest . requireActual ( '../../methods/helpers' ) ,
@@ -43,6 +44,7 @@ jest.mock('react-native-callkeep', () => ({
4344 default : {
4445 addEventListener : ( ...args : unknown [ ] ) => mockAddEventListener ( ...args ) ,
4546 clearInitialEvents : ( ...args : unknown [ ] ) => mockRNCallKeepClearInitialEvents ( ...args ) ,
47+ setCurrentCallActive : ( ...args : unknown [ ] ) => mockSetCurrentCallActive ( ...args ) ,
4648 getInitialEvents : jest . fn ( ( ) => Promise . resolve ( [ ] ) )
4749 }
4850} ) ) ;
@@ -264,10 +266,11 @@ describe('setupMediaCallEvents — didToggleHoldCallAction', () => {
264266 expect ( mockAddEventListener ) . toHaveBeenCalledWith ( 'didToggleHoldCallAction' , expect . any ( Function ) ) ;
265267 } ) ;
266268
267- it ( 'hold: true when isOnHold is false calls toggleHold once' , ( ) => {
269+ it ( 'hold: true when isOnHold is false calls toggleHold once and does not setCurrentCallActive ' , ( ) => {
268270 setupMediaCallEvents ( ) ;
269271 getToggleHoldHandler ( ) ( { hold : true , callUUID : 'uuid-1' } ) ;
270272 expect ( toggleHold ) . toHaveBeenCalledTimes ( 1 ) ;
273+ expect ( mockSetCurrentCallActive ) . not . toHaveBeenCalled ( ) ;
271274 } ) ;
272275
273276 it ( 'hold: true when isOnHold is true does not call toggleHold' , ( ) => {
@@ -277,19 +280,22 @@ describe('setupMediaCallEvents — didToggleHoldCallAction', () => {
277280 expect ( toggleHold ) . not . toHaveBeenCalled ( ) ;
278281 } ) ;
279282
280- it ( 'hold: false after OS-initiated hold calls toggleHold once (auto-resume)' , ( ) => {
283+ it ( 'hold: false after OS-initiated hold calls toggleHold once (auto-resume) and setCurrentCallActive ' , ( ) => {
281284 setupMediaCallEvents ( ) ;
282285 const handler = getToggleHoldHandler ( ) ;
283286 handler ( { hold : true , callUUID : 'uuid-1' } ) ;
284287 getState . mockReturnValue ( { ...activeCallBase , isOnHold : true , toggleHold } ) ;
285288 handler ( { hold : false , callUUID : 'uuid-1' } ) ;
286289 expect ( toggleHold ) . toHaveBeenCalledTimes ( 2 ) ;
290+ expect ( mockSetCurrentCallActive ) . toHaveBeenCalledTimes ( 1 ) ;
291+ expect ( mockSetCurrentCallActive ) . toHaveBeenCalledWith ( 'uuid-1' ) ;
287292 } ) ;
288293
289- it ( 'hold: false without prior OS-initiated hold does not call toggleHold' , ( ) => {
294+ it ( 'hold: false without prior OS-initiated hold does not call toggleHold or setCurrentCallActive ' , ( ) => {
290295 setupMediaCallEvents ( ) ;
291296 getToggleHoldHandler ( ) ( { hold : false , callUUID : 'uuid-1' } ) ;
292297 expect ( toggleHold ) . not . toHaveBeenCalled ( ) ;
298+ expect ( mockSetCurrentCallActive ) . not . toHaveBeenCalled ( ) ;
293299 } ) ;
294300
295301 it ( 'consecutive hold: true events call toggleHold only once' , ( ) => {
@@ -315,8 +321,10 @@ describe('setupMediaCallEvents — didToggleHoldCallAction', () => {
315321 } ) ;
316322 handler ( { hold : false , callUUID : 'uuid-1' } ) ;
317323 expect ( toggleHold ) . toHaveBeenCalledTimes ( 1 ) ;
324+ expect ( mockSetCurrentCallActive ) . not . toHaveBeenCalled ( ) ;
318325 handler ( { hold : false , callUUID : 'uuid-2' } ) ;
319326 expect ( toggleHold ) . toHaveBeenCalledTimes ( 1 ) ;
327+ expect ( mockSetCurrentCallActive ) . not . toHaveBeenCalled ( ) ;
320328 } ) ;
321329
322330 it ( 'does not toggle when there is no active call object even if ids match' , ( ) => {
0 commit comments