def create_email_template(driver, name="test template", content=None): show_templates_page = ShowTemplatesPage(driver) show_templates_page.click_add_new_template() show_templates_page.select_email() template_page = EditEmailTemplatePage(driver) template_page.create_template(name=name, content=content) return template_page.get_template_id()
def test_creating_moving_and_deleting_template_folders(driver, login_seeded_user): # create new template template_name = 'template-for-folder-test {}'.format(uuid.uuid4()) folder_name = 'test-folder {}'.format(uuid.uuid4()) dashboard_page = DashboardPage(driver) dashboard_page.go_to_dashboard_for_service(config['service']['id']) dashboard_page.click_templates() show_templates_page = ShowTemplatesPage(driver) show_templates_page.click_add_new_template() show_templates_page.select_email() edit_template_page = EditEmailTemplatePage(driver) edit_template_page.create_template(name=template_name) template_id = edit_template_page.get_template_id() edit_template_page.click_templates() # create folder using add to new folder show_templates_page.select_template_checkbox(template_id) show_templates_page.add_to_new_folder(folder_name) # navigate into folder show_templates_page.click_template_by_link_text(folder_name) # rename folder step view_folder_page = ViewFolderPage(driver) view_folder_page.click_manage_folder() manage_folder_page = ManageFolderPage(driver) new_folder_name = folder_name + '-new' manage_folder_page.set_name(new_folder_name) view_folder_page.assert_name_equals(new_folder_name) # try to delete folder view_folder_page.click_manage_folder() manage_folder_page.delete_folder() # fails due to not being empty # check error message visible assert manage_folder_page.get_errors( ) == 'You must empty this folder before you can delete it' # move template out of folder view_folder_page.select_template_checkbox(template_id) view_folder_page.move_to_root_template_folder() # delete folder view_folder_page.click_manage_folder() manage_folder_page.delete_folder() manage_folder_page.confirm_delete_folder() current_folders = [ x.text for x in driver.find_elements_by_class_name('template-list-item-label') ] if len(current_folders) == 0: current_folders = [ x.text for x in driver.find_elements_by_class_name('message-name') ] # assert folder not visible assert new_folder_name not in current_folders # delete template show_templates_page.click_template_by_link_text(template_name) edit_template_page.click_delete() assert template_name not in [ x.text for x in driver.find_elements_by_class_name('message-name') ]