@@ -799,7 +799,7 @@ class SendWelcomeEmails(BaseCommandTestCase):
799
799
def test_required_args (self ):
800
800
self .assertEquals (len (mail .outbox ), 0 )
801
801
with self .assertRaisesRegex (
802
- CommandError , r"following arguments are required: --session"
802
+ CommandError , r"following arguments are required: --stage, -- session"
803
803
):
804
804
self .call_command (
805
805
"send_welcome_emails" ,
@@ -810,19 +810,22 @@ def test_basic_run(self):
810
810
self .assertEquals (len (mail .outbox ), 0 )
811
811
self .call_command (
812
812
"send_welcome_emails" ,
813
+ stage = "First Mark" ,
813
814
session = "Default" ,
814
815
)
815
816
self .assertEquals (len (mail .outbox ), 0 )
816
817
817
818
self .call_command (
818
819
"send_welcome_emails" ,
820
+ stage = "First Mark" ,
819
821
session = "Default" ,
820
822
send_emails = True ,
821
823
)
822
824
self .assertEquals (len (mail .outbox ), 2 )
823
825
824
826
self .call_command (
825
827
"send_welcome_emails" ,
828
+ stage = "First Mark" ,
826
829
session = "Default" ,
827
830
send_emails = True ,
828
831
)
@@ -837,6 +840,7 @@ def test_only_sends_if_flag_set(self):
837
840
838
841
self .call_command (
839
842
"send_welcome_emails" ,
843
+ stage = "First Mark" ,
840
844
session = "Default" ,
841
845
send_emails = True ,
842
846
)
@@ -848,6 +852,7 @@ def test_only_sends_if_flag_set(self):
848
852
def test_email_comtent (self ):
849
853
self .call_command (
850
854
"send_welcome_emails" ,
855
+ stage = "First Mark" ,
851
856
session = "Default" ,
852
857
send_emails = True ,
853
858
)
@@ -883,13 +888,15 @@ def test_limit_session(self):
883
888
self .assertEquals (len (mail .outbox ), 0 )
884
889
self .call_command (
885
890
"send_welcome_emails" ,
891
+ stage = "First Mark" ,
886
892
send_emails = True ,
887
893
session = "Second Session" ,
888
894
)
889
895
self .assertEquals (len (mail .outbox ), 0 )
890
896
891
897
self .call_command (
892
898
"send_welcome_emails" ,
899
+ stage = "First Mark" ,
893
900
send_emails = True ,
894
901
session = "Default" ,
895
902
)
@@ -903,6 +910,7 @@ def test_config_loading(self):
903
910
self .assertEquals (len (mail .outbox ), 0 )
904
911
self .call_command (
905
912
"send_welcome_emails" ,
913
+ stage = "First Mark" ,
906
914
send_emails = True ,
907
915
session = "Second Session" ,
908
916
)
@@ -913,18 +921,72 @@ def test_config_loading(self):
913
921
mail .outbox = []
914
922
self .call_command (
915
923
"send_welcome_emails" ,
924
+ stage = "First Mark" ,
916
925
send_emails = True ,
917
926
session = "Default" ,
918
927
)
919
928
self .assertEquals (len (mail .outbox ), 1 )
920
929
email = mail .outbox [0 ]
921
930
self .assertEquals (email .from_email , "Default From <default@example.org>" )
922
931
932
+ @override_settings (
933
+ WELCOME_EMAIL = {
934
+ "Default" : {
935
+ "server_name" : "example.org" ,
936
+ "from_email" : "Default From <default@example.org>" ,
937
+ "subject_template" : "registration/initial_password_email_subject.txt" ,
938
+ "new_user_template" : "registration/initial_password_email.html" ,
939
+ "previous_user_template" : "registration/repeat_password_email.html" ,
940
+ "Right of Reply" : {
941
+ "subject_template" : "registration/council_password_email_subject.txt" ,
942
+ "new_user_template" : "registration/council_password_email.html" ,
943
+ "previous_user_template" : "registration/council_repeat_password_email.html" ,
944
+ },
945
+ },
946
+ }
947
+ )
948
+ def test_template_loading (self ):
949
+ marker = Marker .objects .get (user__email = "new_marker@example.org" )
950
+ rt = ResponseType .objects .get (type = "Right of Reply" )
951
+ marker .response_type = rt
952
+ marker .save ()
953
+
954
+ self .assertEquals (len (mail .outbox ), 0 )
955
+ self .call_command (
956
+ "send_welcome_emails" ,
957
+ stage = "First Mark" ,
958
+ send_emails = True ,
959
+ session = "Default" ,
960
+ )
961
+ self .assertEquals (len (mail .outbox ), 1 )
962
+ email = mail .outbox [0 ]
963
+ self .assertEquals (
964
+ email .subject ,
965
+ "Registration link for CEUK Council Climate Scorecards Scoring System" ,
966
+ )
967
+ self .assertRegex (email .body , r"Thanks for volunteering" )
968
+
969
+ mail .outbox = []
970
+ self .call_command (
971
+ "send_welcome_emails" ,
972
+ stage = "Right of Reply" ,
973
+ send_emails = True ,
974
+ session = "Default" ,
975
+ )
976
+ self .assertEquals (len (mail .outbox ), 1 )
977
+ email = mail .outbox [0 ]
978
+ self .assertEquals (
979
+ email .subject ,
980
+ "Registration link for CEUK Council Climate Scorecards Scoring System" ,
981
+ )
982
+ self .assertRegex (email .body , r"council’s contact to receive" )
983
+
923
984
@override_settings (WELCOME_EMAIL = {})
924
985
def test_error_if_no_config (self ):
925
986
self .assertEquals (len (mail .outbox ), 0 )
926
987
_ , err = self .call_command (
927
988
"send_welcome_emails" ,
989
+ stage = "First Mark" ,
928
990
send_emails = True ,
929
991
session = "Default" ,
930
992
)
0 commit comments