def test_edit_modal(self, selenium, new_program): """Tests if data is saved after editing the program info page edit modal""" _, program_info = new_program selenium.get(program_info.url) program_info_page = info_widget.Programs(selenium) modal = program_info_page \ .press_object_settings() \ .select_edit() test_utils.ModalNewPrograms.enter_test_data(modal) test_utils.ModalNewPrograms.set_start_end_dates(modal, 1, -2) modal.save_and_close() updated_program_info_page = info_widget.Programs(selenium) assert test_utils.HtmlParser.parse_text(modal.ui_title.text) == \ updated_program_info_page.title_entered.text assert modal.ui_description.text == \ updated_program_info_page.description_entered.text assert modal.ui_notes.text == updated_program_info_page.notes_entered.text assert updated_program_info_page.primary_contact_entered.text in \ modal.ui_primary_contact.text assert updated_program_info_page.secondary_contact_entered.text in \ modal.ui_secondary_contact.text assert modal.ui_program_url.text == \ updated_program_info_page.program_url_entered.text assert modal.ui_reference_url.text == \ updated_program_info_page.reference_url_entered.text
def new_ui_fixture(web_driver, fixture): """Extract arguments of 'new_ui_fixture' fixture from fixture name, create new objects via UI (LHN) and return UI page object. """ fixture_params = fixture.replace("new_", "").replace("_ui", "") obj_name = fixture_params obj_count = counters.BATCH_COUNT if (objects.get_plural(obj_name) in objects.ALL_OBJS and objects.get_plural(obj_name) != objects.PROGRAMS): obj_name = objects.get_plural(obj_name) obj_count = 1 objs_info_pages = [ conftest_utils.create_obj_via_lhn( web_driver, getattr(element.Lhn, obj_name.upper())) for _ in xrange(obj_count) ] return objs_info_pages elif objects.get_plural(obj_name) == objects.PROGRAMS: modal = conftest_utils.get_lhn_accordion( web_driver, getattr(element.Lhn, objects.PROGRAMS.upper())).create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(web_driver) return modal, program_info_page
def new_program(selenium, new_control): """Creates a new program object and returns the program info page with the saved modal""" # pylint: disable=redefined-outer-name modal = conftest_utils.get_lhn_accordion( selenium, constants.element.Lhn.PROGRAMS)\ .create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(selenium) yield modal, program_info_page
def test_edit_modal(self, selenium, new_program_ui): """Tests if data is saved after editing program info page edit modal. """ _, program_info = new_program_ui selenium.get(program_info.url) program_info_page = info_widget.Programs(selenium) modal = program_info_page.open_info_3bbs().select_edit() test_utils.ModalNewPrograms.enter_test_data(modal) test_utils.ModalNewPrograms.set_start_end_dates(modal, 1, -2) modal.save_and_close() updated_program_info_page = info_widget.Programs(selenium) assert (test_utils.HtmlParser.parse_text(modal.ui_title.text) == updated_program_info_page.title_entered.text) assert (modal.ui_description.text == updated_program_info_page.description_entered.text) assert modal.ui_notes.text == updated_program_info_page.notes_entered.text assert (modal.ui_program_url.text == updated_program_info_page.program_url_entered.text) assert (modal.ui_reference_url.text == updated_program_info_page.reference_url_entered.text)
def new_program_ui(selenium, new_control_ui): """Create a new Program object via UI (LHN). Return: Program modal and Program Info widget. """ # pylint: disable=redefined-outer-name # pylint: disable=unused-argument modal = conftest_utils.get_lhn_accordion( selenium, constants.element.Lhn.PROGRAMS).create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(selenium) yield modal, program_info_page
def test_edit_modal(self, selenium, new_program_ui): """Tests if data is saved after editing program info page edit modal. """ _, program_info_page = new_program_ui selenium_utils.open_url(selenium, program_info_page.url) program_info_page = info_widget.Programs(selenium) modal = program_info_page.open_info_3bbs().select_edit() test_utils.ModalNewPrograms.enter_test_data(modal) test_utils.ModalNewPrograms.set_start_date(modal, 1) modal.save_and_close() selenium_utils.open_url(selenium, program_info_page.url) updated_program_info_page = info_widget.Programs(selenium) expected_list_texts = [ test_utils.HtmlParser.parse_text(modal.ui_title.text), modal.ui_description.text, modal.ui_notes.text ] actual_list_texts = [ updated_program_info_page.title.text, updated_program_info_page.description_entered.text, updated_program_info_page.notes_entered.text ] assert expected_list_texts == actual_list_texts
def test_permalink(self, selenium, new_program_ui): """Verify url is copied to clipboard.""" _, program_info = new_program_ui selenium.get(program_info.url) program_info_page = info_widget.Programs(selenium) program_info_page.open_info_3bbs().select_get_permalink() # test notification alert base.AnimatedComponent( selenium, [locator.WidgetInfoProgram.ALERT_LINK_COPIED], wait_until_visible=True) # test generated link modal = program_info_page.open_info_3bbs().select_edit() modal.ui_title.paste_from_clipboard(modal.ui_description) assert modal.ui_title.text == program_info_page.url