def test_restore_template(self): template = EmailTemplate( template_type=EmailTemplateType.INSTR_INVITATION, subject='Invitation <code>term.name</code> <code>course.name</code>', body='', ) self.templates_page.create_template(template)
def test_instr_settings_change(self): util.reset_email_template_test_data('notify_instructor_of_changes') template = EmailTemplate( template_type=EmailTemplateType.INSTR_SETTINGS_CHANGE, subject='Changes to your Course Capture settings for <code>course.name</code>', body='', ) self.templates_page.create_template(template)
def test_instr_room_change_ineligible(self): util.reset_email_template_test_data('room_change_no_longer_eligible') template = EmailTemplate( template_type=EmailTemplateType.INSTR_ROOM_CHANGE_INELIGIBLE, subject='Your course <code>course.name</code> is no longer eligible for Course Capture', body='', ) self.templates_page.create_template(template)
def test_instr_recordings_scheduled(self): util.reset_email_template_test_data('recordings_scheduled') template = EmailTemplate( template_type=EmailTemplateType.INSTR_RECORDINGS_SCHEDULED, subject='Your course, <code>course.name</code>, has been scheduled for Course Capture', body='', ) self.templates_page.create_template(template)
def test_instr_awaiting_approval(self): util.reset_email_template_test_data('waiting_for_approval') template = EmailTemplate( template_type=EmailTemplateType.INSTR_AWAITING_APPROVAL, subject='Course Capture: <code>course.name</code> waiting on approval', body='', ) self.templates_page.create_template(template)
def test_admin_weird_dates(self): util.reset_email_template_test_data('admin_alert_multiple_meeting_patterns') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_WEIRD_DATES, subject='Admin alert: <code>course.name</code> is weird', body='', ) self.templates_page.create_template(template)
def test_admin_room_change(self): util.reset_email_template_test_data('admin_alert_room_change') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_ROOM_CHANGE, subject='Course Capture Admin: <code>course.name</code> has moved to <code>course.room</code>', body='', ) self.templates_page.create_template(template)
def test_admin_instr_change(self): util.reset_email_template_test_data('admin_alert_instructor_change') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_INSTR_CHANGE, subject='Course Capture Admin: <code>course.name</code> Instructor changes', body='', ) self.templates_page.create_template(template)
def test_admin_date_change(self): util.reset_email_template_test_data('admin_alert_date_change') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_DATE_CHANGE, subject='Course Capture Admin: <code>course.name</code> schedule change', body='', ) self.templates_page.create_template(template)
class TestEmailTemplates: term = Term() template = EmailTemplate( template_type=EmailTemplateType.INSTR_INVITATION, subject='Invitation <code>term.name</code>', body='', ) @pytest.mark.skipif(app.config['SKIP_EMAILS'], reason='Check email') def test_delete_old_email(self): self.email_page.log_in() self.email_page.delete_all_messages() def test_log_in(self): self.login_page.load_page() self.login_page.dev_auth() self.ouija_page.click_email_templates_link() def test_template_options(self): self.templates_page.click_template_select() options = self.templates_page.visible_menu_options() options.sort() types = [templ.value for templ in EmailTemplateType] types.sort() assert options == types def test_create_template_cancel(self): self.templates_page.click_menu_option( self.template.template_type.value) self.templates_page.click_cancel() def test_create_template_name_input(self): self.templates_page.click_template_select() self.templates_page.click_menu_option( self.template.template_type.value) self.templates_page.enter_template_name('Invitation') def test_create_template_subj_input(self): self.templates_page.enter_subject(self.template.subject) self.template.subject = f'Invitation {self.term.name}' def test_create_template_show_codes(self): self.templates_page.click_template_codes_button() for code in EmailTemplatesPage.template_codes(): assert code in self.templates_page.element( EmailTemplatesPage.CODES_DIV).get_attribute('innerText') def test_create_template_enter_codes(self): self.templates_page.click_close_template_codes_button() self.templates_page.enter_all_codes_in_body() def test_create_template_save_template(self): self.templates_page.click_save() def test_pre_existing_template(self): self.templates_page.click_template_select() assert self.templates_page.is_menu_option_disabled( self.template.template_type.value) def test_edit_template_cancel(self): self.templates_page.hit_escape() self.templates_page.click_edit_template_link(self.template) self.templates_page.click_cancel() def test_edit_template_save(self): self.templates_page.click_edit_template_link(self.template) self.templates_page.click_save() @pytest.mark.skipif(app.config['SKIP_EMAILS'], reason='Check email') def test_email_test_button(self): self.templates_page.click_send_test_email(self.template) subj = f'{self.template.subject} (To: {app.config["EMAIL_DIABLO_ADMIN"]})' expected_message = Email(msg_type=None, sender=None, subject=subj) assert self.email_page.is_message_delivered(expected_message) def test_delete_button(self): self.templates_page.load_page() self.templates_page.click_delete_template_button(self.template) assert not self.templates_page.is_present( (By.XPATH, EmailTemplatesPage.template_row_xpath(self.template))) def test_restore_template(self): template = EmailTemplate( template_type=EmailTemplateType.INSTR_INVITATION, subject= 'Invitation <code>term.name</code> <code>course.name</code>', body='', ) self.templates_page.create_template(template) def test_admin_date_change(self): util.reset_email_template_test_data('admin_alert_date_change') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_DATE_CHANGE, subject= 'Course Capture Admin: <code>course.name</code> schedule change', body='', ) self.templates_page.create_template(template) def test_admin_instr_change(self): util.reset_email_template_test_data('admin_alert_instructor_change') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_INSTR_CHANGE, subject= 'Course Capture Admin: <code>course.name</code> Instructor changes', body='', ) self.templates_page.create_template(template) def test_admin_room_change(self): util.reset_email_template_test_data('admin_alert_room_change') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_ROOM_CHANGE, subject= 'Course Capture Admin: <code>course.name</code> has moved to <code>course.room</code>', body='', ) self.templates_page.create_template(template) def test_admin_weird_dates(self): util.reset_email_template_test_data( 'admin_alert_multiple_meeting_patterns') template = EmailTemplate( template_type=EmailTemplateType.ADMIN_WEIRD_DATES, subject='Admin alert: <code>course.name</code> is weird', body='', ) self.templates_page.create_template(template) def test_instr_awaiting_approval(self): util.reset_email_template_test_data('waiting_for_approval') template = EmailTemplate( template_type=EmailTemplateType.INSTR_AWAITING_APPROVAL, subject= 'Course Capture: <code>course.name</code> waiting on approval', body='', ) self.templates_page.create_template(template) def test_instr_recordings_scheduled(self): util.reset_email_template_test_data('recordings_scheduled') template = EmailTemplate( template_type=EmailTemplateType.INSTR_RECORDINGS_SCHEDULED, subject= 'Your course, <code>course.name</code>, has been scheduled for Course Capture', body='', ) self.templates_page.create_template(template) def test_instr_room_change_ineligible(self): util.reset_email_template_test_data('room_change_no_longer_eligible') template = EmailTemplate( template_type=EmailTemplateType.INSTR_ROOM_CHANGE_INELIGIBLE, subject= 'Your course <code>course.name</code> is no longer eligible for Course Capture', body='', ) self.templates_page.create_template(template) def test_instr_settings_change(self): util.reset_email_template_test_data('notify_instructor_of_changes') template = EmailTemplate( template_type=EmailTemplateType.INSTR_SETTINGS_CHANGE, subject= 'Changes to your Course Capture settings for <code>course.name</code>', body='', ) self.templates_page.create_template(template)