@@ -834,7 +834,7 @@ def test_update_private_message(
834
834
],
835
835
)
836
836
@pytest .mark .parametrize (
837
- "req, old_topic, footer_updated" ,
837
+ "req, old_topic, new_topic, stream_name, propagate_mode, footer_updated" ,
838
838
[
839
839
(
840
840
{
@@ -844,6 +844,9 @@ def test_update_private_message(
844
844
"topic" : "Some topic" ,
845
845
},
846
846
"Some topic" ,
847
+ "Some topic" ,
848
+ "stream" ,
849
+ "change_one" ,
847
850
False ,
848
851
),
849
852
(
@@ -853,11 +856,21 @@ def test_update_private_message(
853
856
"topic" : "Topic change" ,
854
857
},
855
858
"Old topic" ,
859
+ "Topic change" ,
860
+ "stream" ,
861
+ "change_one" ,
856
862
True ,
857
863
),
858
864
(
859
- {"message_id" : 1 , "propagate_mode" : "change_all" , "topic" : "Old topic" },
865
+ {
866
+ "message_id" : 1 ,
867
+ "propagate_mode" : "change_all" ,
868
+ "topic" : "Old topic" ,
869
+ },
870
+ "Old topic" ,
860
871
"Old topic" ,
872
+ "stream" ,
873
+ "change_one" ,
861
874
False ,
862
875
),
863
876
(
@@ -868,6 +881,9 @@ def test_update_private_message(
868
881
"topic" : "terminal" ,
869
882
},
870
883
"terminal" ,
884
+ "terminal" ,
885
+ "stream" ,
886
+ "change_later" ,
871
887
False ,
872
888
),
873
889
(
@@ -878,6 +894,9 @@ def test_update_private_message(
878
894
"topic" : "grett" ,
879
895
},
880
896
"greet" ,
897
+ "grett" ,
898
+ "stream" ,
899
+ "change_one" ,
881
900
True ,
882
901
),
883
902
(
@@ -888,24 +907,54 @@ def test_update_private_message(
888
907
"topic" : "party" ,
889
908
},
890
909
"lets_party" ,
910
+ "party" ,
911
+ "stream" ,
912
+ "change_all" ,
891
913
True ,
892
914
),
893
915
],
894
916
)
895
917
def test_update_stream_message (
896
- self , mocker , model , response , return_value , req , old_topic , footer_updated
918
+ self ,
919
+ mocker ,
920
+ model ,
921
+ response ,
922
+ return_value ,
923
+ req ,
924
+ old_topic ,
925
+ new_topic ,
926
+ stream_name ,
927
+ propagate_mode ,
928
+ footer_updated ,
897
929
):
898
930
self .client .update_message = mocker .Mock (return_value = response )
899
931
model .index ["messages" ][req ["message_id" ]]["subject" ] = old_topic
932
+ req ["topic" ] = new_topic
933
+ model .index ["messages" ][req ["message_id" ]]["display_recipient" ] = stream_name
934
+ req ["propagate_mode" ] = propagate_mode
935
+
936
+ recent_moved_msgs = ""
937
+ if propagate_mode == "change_all" :
938
+ recent_moved_msgs = "all"
939
+ if propagate_mode == "change_later" :
940
+ recent_moved_msgs = "some"
941
+ if propagate_mode == "change_one" :
942
+ recent_moved_msgs = "one"
900
943
901
944
result = model .update_stream_message (** req )
902
-
903
945
self .client .update_message .assert_called_once_with (req )
904
946
assert result == return_value
905
947
self .display_error_if_present .assert_called_once_with (response , self .controller )
906
948
report_success = model .controller .report_success
907
949
if result and footer_updated :
908
- report_success .assert_called_once_with ("You changed a message's topic." )
950
+ if recent_moved_msgs == "one" :
951
+ report_success .assert_called_once_with (
952
+ f"You changed { recent_moved_msgs } message's topic from #{ stream_name } > { old_topic } to #{ stream_name } > { new_topic } ."
953
+ )
954
+ else :
955
+ report_success .assert_called_once_with (
956
+ f"You changed { recent_moved_msgs } messages' topic from #{ stream_name } > { old_topic } to #{ stream_name } > { new_topic } ."
957
+ )
909
958
else :
910
959
report_success .assert_not_called ()
911
960
0 commit comments