@@ -2986,19 +2986,119 @@ def test__handle_reaction_event_not_in_index(
2986
2986
assert model .index == previous_index
2987
2987
assert not model ._update_rendered_view .called
2988
2988
2989
- @pytest .mark .parametrize (
2990
- "op, expected_number_after" ,
2991
- [
2992
- ("add" , 2 ),
2993
- ("remove" , 1 ), # Removed emoji doesn't match, so length remains 1
2994
- ],
2995
- )
2996
2989
@pytest .mark .parametrize (
2997
2990
"reaction_event_schema" , ["with_user" , "with_user_id" , "with_both" ]
2998
2991
)
2999
2992
@pytest .mark .parametrize (
3000
2993
"reaction_schema" , ["with_user" , "with_user_id" , "with_both" ]
3001
2994
)
2995
+ @pytest .mark .parametrize (
2996
+ "msgs, op, expected_number_after" ,
2997
+ [
2998
+ case (
2999
+ [
3000
+ (2 , [(5140 , "unicode_emoji" , "2764" , "heart" )]),
3001
+ (1 , []),
3002
+ ],
3003
+ "add" ,
3004
+ 2 ,
3005
+ id = "single_reaction_add" ,
3006
+ ),
3007
+ case (
3008
+ [
3009
+ (2 , [(5140 , "unicode_emoji" , "1f44d" , "thumbs_up" )]),
3010
+ (1 , []),
3011
+ ],
3012
+ "remove" ,
3013
+ 0 ,
3014
+ id = "single_reaction_remove" ,
3015
+ ),
3016
+ case (
3017
+ [
3018
+ (
3019
+ 2 ,
3020
+ [
3021
+ (3478 , "unicode_emoji" , "1f44d" , "thumbs_up" ),
3022
+ (3479 , "unicode_emoji" , "1f44d" , "thumbs_up" ),
3023
+ ],
3024
+ ),
3025
+ ],
3026
+ "add" ,
3027
+ 3 ,
3028
+ id = "same_emoji_different_users_add" ,
3029
+ ),
3030
+ case (
3031
+ [
3032
+ (
3033
+ 2 ,
3034
+ [
3035
+ (3478 , "unicode_emoji" , "1f44d" , "thumbs_up" ),
3036
+ (5140 , "unicode_emoji" , "1f44d" , "thumbs_up" ),
3037
+ ],
3038
+ ),
3039
+ ],
3040
+ "remove" ,
3041
+ 1 ,
3042
+ id = "same_emoji_different_users_remove" ,
3043
+ ),
3044
+ case (
3045
+ [
3046
+ (
3047
+ 2 ,
3048
+ [
3049
+ (5140 , "zulip_extra_emoji" , "zulip" , "zulip" ),
3050
+ (3478 , "unicode_emoji" , "2764" , "heart" ),
3051
+ ],
3052
+ ),
3053
+ ],
3054
+ "add" ,
3055
+ 3 ,
3056
+ id = "different_emoji_different_users_add" ,
3057
+ ),
3058
+ case (
3059
+ [
3060
+ (
3061
+ 2 ,
3062
+ [
3063
+ (5140 , "unicode_emoji" , "1f44d" , "thumbs_up" ),
3064
+ (3478 , "unicode_emoji" , "2764" , "heart" ),
3065
+ ],
3066
+ ),
3067
+ ],
3068
+ "remove" ,
3069
+ 1 ,
3070
+ id = "different_emoji_different_users_remove" ,
3071
+ ),
3072
+ case (
3073
+ [
3074
+ (
3075
+ 2 ,
3076
+ [
3077
+ (5140 , "zulip_extra_emoji" , "zulip" , "zulip" ),
3078
+ (5140 , "unicode_emoji" , "2764" , "heart" ),
3079
+ ],
3080
+ ),
3081
+ ],
3082
+ "add" ,
3083
+ 3 ,
3084
+ id = "different_emoji_same_user_add" ,
3085
+ ),
3086
+ case (
3087
+ [
3088
+ (
3089
+ 2 ,
3090
+ [
3091
+ (5140 , "unicode_emoji" , "1f44d" , "thumbs_up" ),
3092
+ (5140 , "unicode_emoji" , "5678" , "heart" ),
3093
+ ],
3094
+ ),
3095
+ ],
3096
+ "remove" ,
3097
+ 1 ,
3098
+ id = "different_emoji_same_user_remove" ,
3099
+ ),
3100
+ ],
3101
+ )
3002
3102
def test__handle_reaction_event_for_msg_in_index (
3003
3103
self ,
3004
3104
mocker ,
@@ -3008,8 +3108,9 @@ def test__handle_reaction_event_for_msg_in_index(
3008
3108
op ,
3009
3109
reaction_event_schema ,
3010
3110
reaction_schema ,
3111
+ msgs ,
3011
3112
expected_number_after ,
3012
- event_message_id = 1 ,
3113
+ event_message_id = 2 ,
3013
3114
):
3014
3115
common_args = {
3015
3116
"op" : op ,
@@ -3024,13 +3125,7 @@ def test__handle_reaction_event_for_msg_in_index(
3024
3125
** common_args , user = True , user_id = 5140
3025
3126
)
3026
3127
3027
- model .index = reaction_event_index_factory (
3028
- [
3029
- (1 , [(1 , "unicode_emoji" , "1232" , "thumbs_up" )]),
3030
- (2 , []),
3031
- ],
3032
- reaction_schema ,
3033
- )
3128
+ model .index = reaction_event_index_factory (msgs , reaction_schema )
3034
3129
model ._update_rendered_view = mocker .Mock ()
3035
3130
3036
3131
model ._handle_reaction_event (reaction_event )
0 commit comments