@@ -445,6 +445,7 @@ def test_merge_drafts(self, user):
445445 @mock .patch ('api.share.utils.update_share' )
446446 def test_merge_user_triggers_share_reindex (self , mock_update_share ):
447447 from osf .models import Preprint
448+ from addons .osfstorage .models import OsfStorageFile
448449
449450 user = AuthUserFactory ()
450451 user2 = AuthUserFactory ()
@@ -457,26 +458,39 @@ def test_merge_user_triggers_share_reindex(self, mock_update_share):
457458 preprint_two = PreprintFactory (title = 'preprint_two' )
458459 preprint_two .add_contributor (user2 )
459460
461+ node_file = OsfStorageFile .create (
462+ target = node_one , path = '/node_file.txt' , name = 'node_file.txt' , materialized_path = '/node_file.txt'
463+ )
464+ node_file .save (skip_search = True )
465+ node_file .get_guid (create = True )
466+
467+ preprint_file = OsfStorageFile .create (
468+ target = preprint_one , path = '/preprint_file.txt' , name = 'preprint_file.txt' ,
469+ materialized_path = '/preprint_file.txt'
470+ )
471+ preprint_file .save (skip_search = True )
472+ preprint_file .get_guid (create = True )
473+
460474 user .merge_user (user2 )
461475
476+ all_reindexed = [call [0 ][0 ] for call in mock_update_share .call_args_list ]
462477 # Verify update_share was called for both nodes
463- nodes_reindexed = [
464- call [0 ][0 ] for call in mock_update_share .call_args_list
465- if isinstance (call [0 ][0 ], AbstractNode )
466- ]
478+ nodes_reindexed = [node_reindexed for node_reindexed in all_reindexed if isinstance (node_reindexed , AbstractNode )]
467479 assert len (nodes_reindexed ) == 2
468480 assert node_one in nodes_reindexed
469481 assert node_two in nodes_reindexed
470482
471483 # Verify update_share was called for both preprints
472- preprints_reindexed = [
473- call [0 ][0 ] for call in mock_update_share .call_args_list
474- if isinstance (call [0 ][0 ], Preprint )
475- ]
484+ preprints_reindexed = [preprint_reindexed for preprint_reindexed in all_reindexed if isinstance (preprint_reindexed , Preprint )]
476485 assert len (preprints_reindexed ) == 2
477486 assert preprint_one in preprints_reindexed
478487 assert preprint_two in preprints_reindexed
479488
489+ # Verify update_share was called for files belonging to user2's nodes and preprints
490+ files_reindexed = [file_reindexed for file_reindexed in all_reindexed if isinstance (file_reindexed , OsfStorageFile )]
491+ assert node_file in files_reindexed
492+ assert preprint_file in files_reindexed
493+
480494 def test_cant_create_user_without_username (self ):
481495 u = OSFUser () # No username given
482496 with pytest .raises (ValidationError ):
0 commit comments