from ..mentions import add_mentions def test_util_replaces_mention_with_link_to_user_profile_in_parsed_text( request_mock, user ): parsing_result = {"parsed_text": f"

Hello, @{user.username}!

", "mentions": []} add_mentions(request_mock, parsing_result) assert parsing_result["parsed_text"] == ( f'

Hello, @{user.username}!

' ) def test_util_adds_mention_to_parsig_result(request_mock, user): parsing_result = {"parsed_text": f"

Hello, @{user.username}!

", "mentions": []} add_mentions(request_mock, parsing_result) assert parsing_result["mentions"] == [user] def test_mentions_arent_added_for_nonexisting_user(request_mock, user): parsing_result = {"parsed_text": f"

Hello, @OtherUser!

", "mentions": []} add_mentions(request_mock, parsing_result) assert parsing_result["parsed_text"] == "

Hello, @OtherUser!

" def test_util_replaces_multiple_mentions_with_link_to_user_profiles_in_parsed_text( request_mock, user, other_user ): parsing_result = { "parsed_text": f"

Hello, @{user.username} and @{other_user.username}!

", "mentions": [], } add_mentions(request_mock, parsing_result) assert ( f'@{user.username}' in parsing_result["parsed_text"] ) assert ( f'@{other_user.username}' in parsing_result["parsed_text"] ) def test_util_adds_multiple_mentions_to_parsig_result(request_mock, user, other_user): parsing_result = { "parsed_text": f"

Hello, @{user.username} and @{other_user.username}!

", "mentions": [], } add_mentions(request_mock, parsing_result) assert parsing_result["mentions"] == [user, other_user] def test_util_handles_repeated_mentions_of_same_user(request_mock, user): parsing_result = { "parsed_text": f"

Hello, @{user.username} and @{user.username}!

", "mentions": [], } add_mentions(request_mock, parsing_result) assert parsing_result["mentions"] == [user] def test_util_skips_mentions_in_links(request_mock, user, snapshot): parsing_result = { "parsed_text": f'

Hello, @{user.username}

', "mentions": [], } add_mentions(request_mock, parsing_result) assert parsing_result["parsed_text"] == ( f'

Hello, @{user.username}

' ) assert parsing_result["mentions"] == [] def test_util_handles_text_without_mentions(request_mock): parsing_result = {"parsed_text": f"

Hello, world!

", "mentions": []} add_mentions(request_mock, parsing_result) assert parsing_result["parsed_text"] == ("

Hello, world!

") assert parsing_result["mentions"] == []