Coverage for app/scripts/sendEventReminderEmails.py: 30%

23 statements  

« prev     ^ index     » next       coverage.py v7.2.5, created at 2023-05-24 14:13 +0000

1from app.logic.emailHandler import EmailHandler 

2from app.logic.events import getTomorrowsEvents 

3from app.models.term import Term 

4from app.models.user import User 

5from app.models.emailTemplate import EmailTemplate 

6 

7def sendAutomatedEmail(events): 

8 """Function that sends an email for every event occuring the next day""" 

9 if not len(events): 

10 print("No events were found.") 

11 return 0 

12 counter = 0 

13 currentTerm = Term.get(isCurrentTerm=1) 

14 template = EmailTemplate.get(purpose = "Reminder") 

15 templateSubject = template.subject 

16 templateBody = template.body 

17 for event in events: 

18 programId = event.singleProgram 

19 emailData = {"eventID":event.id, # creates the email data 

20 "programID":programId, 

21 "term":currentTerm.id, 

22 "templateIdentifier":"Reminder", 

23 "recipientsCategory":"Interested", 

24 "subject":templateSubject, 

25 "body":templateBody} 

26 sendEmail = EmailHandler(emailData, "172.31.3.239:8080", User.get_by_id("ramsayb2")) 

27 sendEmail.send_email() 

28 counter+=1 

29 return counter 

30 

31def main(): 

32 sendAutomatedEmail(getTomorrowsEvents()) 

33 

34# main()