def test_verify_priority_enrollment(self, app, enrollment):
     with pytest.allure.step('Assert priority'):
         field_priority = app.enrollments_main_page.get_priority()
         common_methods = CommonMethods(app.driver)
         actual_value_priority = common_methods.get_value_from_text_field(field_priority)
         try:
             assert actual_value_priority == enrollment.priority
         except AssertionError:
             allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG)
             raise
 def test_verify_total_score_and_scale_enrollment(self, app, enrollment):
     with pytest.allure.step('Assert total score and scale enrollment'):
         field_total_score = app.enrollments_main_page.find_total_score()
         scale = app.enrollments_main_page.get_text_choose_grading_scale().text
         common_methods = CommonMethods(app.driver)
         actual_value_total_score = common_methods.get_value_from_text_field(field_total_score)
         try:
             assert actual_value_total_score == enrollment.total_score
             assert scale == enrollment.grading_scale
         except AssertionError:
             allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG)
             raise
 def test_verify_type_of_entry_and_detailing_start_enrollment(self, app, enrollment):
     with pytest.allure.step('Assert type of entry and datailing start of fields'):
         field_type_of_entry = app.enrollments_main_page.get_type_of_entry()
         field_detailing_start = app.enrollments_main_page.get_detailing_start_menu()
         common_methods = CommonMethods(app.driver)
         actual_value_type_of_entry = common_methods.get_value_from_select(field_type_of_entry)
         actual_value_detailing_start = common_methods.get_value_from_select(field_detailing_start)
         try:
             assert actual_value_type_of_entry == enrollment.type_of_entry
             assert actual_value_detailing_start == enrollment.detailing_start
         except AssertionError:
             allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG)
             raise
 def test_verify_serial_and_number_enrollment(self, app, enrollment):
     with pytest.allure.step('Assert serial and number enrollment'):
         field_serial_of_enroll = app.enrollments_main_page.find_series_of_statements()
         field_number_of_enroll = app.enrollments_main_page.find_number_statements()
         common_methods = CommonMethods(app.driver)
         actual_value_serial_enollment = common_methods.get_value_from_text_field(field_serial_of_enroll)
         actual_value_number_enollment = common_methods.get_value_from_text_field(field_number_of_enroll)
         try:
             assert actual_value_serial_enollment == enrollment.series_of_statements
             assert actual_value_number_enollment == str(enrollment.number_statements)
         except AssertionError:
             allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG)
             raise
    def read_in_address_page(self, person_new):
        """
        Method read the data on the address persons page
        :param person_new: persons model in Person format
        :return:
        """
        common_methods = CommonMethods(self.driver)
        self.is_this_page
        self.wait_until_page_generate()

        # reading birth place
        for place in self.driver.find_elements(*self.FULL_BIRTH_PLACE_TEXT):
            person_new.burn_place.append(place.text)

        # reading registration address
        for place in self.driver.find_elements(*self.FULL_BIRTH_REGISTRATION_TEXT):
            person_new.registration_place["area"].append(place.text)

        person_new.registration_place["index"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.INDEX_INPUT))
        person_new.registration_place["type"] = self.address_type_chooser().text
        person_new.registration_place["street"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.STREET_INPUT)).encode('cp1251')
        person_new.registration_place["house"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.HOUSE_INPUT))
        person_new.registration_place["apartment"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.APARTMENT_INPUT))
        person_new.registration_place["is_addresses_match"] = is_checkbox_checked(
            self.driver.find_element(*self.IS_ADDRESSES_MATCH))

        if person_new.registration_place["is_addresses_match"]:
            person_new.post_registration_place["index"] = person_new.registration_place["index"]
            person_new.post_registration_place["type"] = person_new.registration_place["type"]
            person_new.post_registration_place["street"] = person_new.registration_place["street"]
            person_new.post_registration_place["house"] = person_new.registration_place["house"]
            person_new.post_registration_place["apartment"] = person_new.registration_place["apartment"]
            return person_new

        # reading post address
        for place in self.driver.find_elements(*self.FULL_BIRTH_POST_REGISTRATION_TEXT):
            person_new.post_registration_place["area"].append(place.text)

        person_new.post_registration_place["index"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.INDEX_POST_INPUT))
        person_new.post_registration_place["type"] = common_methods.get_value_from_select(self.driver.find_element(*self.ADDRESS_TYPE_POST_CHOOSER)).encode('cp1251')
        person_new.post_registration_place["street"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.STREET_POST_INPUT)).encode('cp1251')
        person_new.post_registration_place["house"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.HOUSE_POST_INPUT)).encode('cp1251')
        person_new.post_registration_place["apartment"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.APARTMENT_POST_INPUT))
        return person_new
 def read_in_extra_person_page(self, person_new):
     """
     Method read the data on the extra persons page
     :param person_new: persons model in Person format
     :return:
     """
     common_methods = CommonMethods(self.driver)
     self.is_this_page
     person_new.birth_day = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.ACTIVATE_BIRTH_DAY_CHOOSER))
     person_new.sex = self.sex_types_select().text
     person_new.marital_status = self.marital_status_select().text
     person_new.nationality = self.nationality_select().text
     person_new.private_case_chars = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.PRIVATE_CASE_CHARS_INPUT)).encode('cp1251')
     person_new.private_case_number = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.PRIVATE_CASE_NUMBER_INPUT))
     person_new.is_outlander = is_checkbox_checked(
         self.driver.find_element(*self.IS_A_OUTLANDER_CHECKER))
     person_new.reservist = is_checkbox_checked(
         self.driver.find_element(*self.IS_A_OUTLANDER_CHECKER))
     person_new.hostel_need = is_checkbox_checked(
         self.driver.find_element(*self.IS_A_OUTLANDER_CHECKER))
     return person_new
    def read_in_document_page(self, person_new):
        """
        Method read the data on the papers persons page
        :param person_new: persons model in Person format
        :return: person_new
        """
        common_methods = CommonMethods(self.driver)
        self.is_this_page()
        self.wait_until_page_generate()
        for index in range(1, self.get_number_of_person_documents() + 1):
            self.click_on_edit_document(index)
            document = []
            self.wait_until_page_generate()
            for web_element in self.list_with_all_visible_element_in_document():
                value_of_webelement_by_js = common_methods.get_value_from_web_element(web_element)
                document.append(value_of_webelement_by_js)

            document.append(
                is_checkbox_checked(self.driver.find_element(*self.DOCUMENT_IS_ORIGINAL)))
            document.append(
                is_checkbox_checked(self.driver.find_element(*self.DOCUMENT_IS_FOREIGN)))
            person_new.documents.append(document)

        return person_new
 def read_in_contact_page(self, person_new):
     """
     Method read the data on the contact persons page
     :param person_new: persons model in Person format
     :return:
     """
     self.is_this_page
     self.wait_until_page_generate()
     common_methods = CommonMethods(self.driver)
     person_new.mobile_phone1 = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.MOBILE_PHONE1_INPUT))
     person_new.mobile_phone2 = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.MOBILE_PHONE2_INPUT))
     person_new.home_phone = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.HOME_PHONE_INPUT))
     person_new.work_phone = common_methods.get_value_from_text_field(
         self.driver.find_element(*self.WORK_PHONE_INPUT))
     person_new.email = common_methods.get_value_from_text_field(self.driver.find_element(*self.EMAIL_INPUT))
     person_new.skype = common_methods.get_value_from_text_field(self.driver.find_element(*self.SKYPE_INPUT))
     person_new.web_site = common_methods.get_value_from_text_field(self.driver.find_element(*self.SITE_INPUT))
     person_new.icq = common_methods.get_value_from_text_field(self.driver.find_element(*self.ICQ_INPUT))
     return person_new
 def read_in_main_person_page(self, person_new):
     """
     Method read the data on the main persons page
     :param person_new: is persons model in Person format
     :return: person_new
     """
     self.is_this_page
     common_methods = CommonMethods(self.driver)
     person_new.person_type = self.person_type_text().text
     person_new.surname_ukr = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_SURNAME_UKR_INPUT))
     person_new.first_name_ukr = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_FIRST_NAME_UKR_INPUT))
     person_new.second_name_ukr = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_FARTHER_NAME_UKR_INPUT))
     person_new.surname_eng = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_SURNAME_ENG_INPUT))
     person_new.first_name_eng = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_FIRST_NAME_ENG_INPUT))
     return person_new