Ejemplo n.º 1
0
 def get_contact_info_from_edit_page(self, index):
     wd = self.app.wd
     self.view_contact_by_index_edit_page(index)
     # person data
     first_name_ep = wd.find_element_by_name("firstname").get_attribute(
         "value")
     last_name_ep = wd.find_element_by_name("lastname").get_attribute(
         "value")
     contact_id_ep = wd.find_element_by_name("id").get_attribute("value")
     address_ep = wd.find_element_by_name("address").get_attribute("value")
     # emails
     email_ep = wd.find_element_by_name("email").get_attribute("value")
     email2_ep = wd.find_element_by_name("email2").get_attribute("value")
     email3_ep = wd.find_element_by_name("email3").get_attribute("value")
     # phones
     home_phone_ep = wd.find_element_by_name("home").get_attribute("value")
     mobile_phone_ep = wd.find_element_by_name("mobile").get_attribute(
         "value")
     work_phone_ep = wd.find_element_by_name("work").get_attribute("value")
     secondary_home_ep = wd.find_element_by_name("phone2").get_attribute(
         "value")
     return Contact(first_name_value=first_name_ep,
                    last_name_value=last_name_ep,
                    contact_id_value=contact_id_ep,
                    address_value=address_ep,
                    email_value=email_ep,
                    email2_value=email2_ep,
                    email3_value=email3_ep,
                    home_phone_value=home_phone_ep,
                    work_phone_value=work_phone_ep,
                    mobile_phone_value=mobile_phone_ep,
                    secondary_home_value=secondary_home_ep)
Ejemplo n.º 2
0
def test_delete_some_contact(app, db, check_ui):
    contact = Contact(first_name_value="Firstname", middle_name_value="Middlename", last_name_value="Lastname",
                      nickname_value="Nickname", title_value="Title", company_value="Company",
                      address_value="123456, address_city, address_street, address_home",
                      home_phone_value="123456_home_phone", mobile_phone_value="123456_mobile_phone",
                      work_phone_value="123456_work_phone", fax_value="123456_fax", email_value="*****@*****.**",
                      email2_value="*****@*****.**", email3_value="*****@*****.**", homepage_value="https://home_page.com",
                      bday_value="1", bmonth_value="January", byear_value="2000", aday_value="1",
                      amonth_value="January",
                      ayear_value="2020", secondary_address_value="Second address", secondary_home_value="Second home",
                      secondary_notes_value="Notes")
    if app.contact.count_contacts() == 0:
        app.contact.create(contact)
    old_contacts = db.get_contact_list()
    contact = random.choice(old_contacts)
    # index = randrange(len(old_contacts))
    # app.contact.delete_contact_by_index(index)
    app.contact.delete_contact_by_id(contact.contact_id)
    new_contacts = db.get_contact_list()
    assert len(old_contacts) - 1 == len(new_contacts)
    old_contacts.remove(contact)
    assert old_contacts == new_contacts
    if check_ui:
        assert sorted(new_contacts, key=Contact.id_or_max) == sorted(app.contact.get_contact_list(),
                                                                     key=Contact.id_or_max)
Ejemplo n.º 3
0
 def get_contact_info_from_view_page(self, index):
     wd = self.app.wd
     self.view_contact_by_index_details(index)
     contact_text = wd.find_element_by_id("content").text
     home_phone_details = re.search("H: (.*)", contact_text).group(1)
     mobile_phone_details = re.search("M: (.*)", contact_text).group(1)
     work_phone_details = re.search("W: (.*)", contact_text).group(1)
     secondary_phone_details = re.search("P: (.*)", contact_text).group(1)
     return Contact(home_phone_value=home_phone_details,
                    work_phone_value=work_phone_details,
                    mobile_phone_value=mobile_phone_details,
                    secondary_home_value=secondary_phone_details)
Ejemplo n.º 4
0
 def get_contact_list(self):
     contact_list = []
     cursor = self.connection.cursor()
     try:
         cursor.execute(
             "select id, firstname, lastname from addressbook where deprecated='0000-00-00 00:00:00'"
         )
         for row in cursor:
             (contact_id, firstname, lastname) = row
             contact_list.append(
                 Contact(contact_id_value=str(contact_id),
                         first_name_value=firstname,
                         last_name_value=lastname))
     finally:
         cursor.close()
     return contact_list
Ejemplo n.º 5
0
 def get_contact_list(self):
     if self.contact_cache is None:
         wd = self.app.wd
         self.return_to_homepage()
         self.contact_cache = []
         for contacts_rows in wd.find_elements_by_name("entry"):
             contacts_cells = contacts_rows.find_elements_by_tag_name("td")
             local_contact_firstname = contacts_cells[2].text
             local_contact_lastname = contacts_cells[1].text
             local_contact_address = contacts_cells[3].text
             all_emails = contacts_cells[4].text
             all_phones = contacts_cells[5].text
             local_contact_id = contacts_cells[0].find_element_by_tag_name(
                 "input").get_attribute("value")
             self.contact_cache.append(
                 Contact(first_name_value=local_contact_firstname,
                         last_name_value=local_contact_lastname,
                         address_value=local_contact_address,
                         all_emails_from_home_page_value=all_emails,
                         contact_id_value=local_contact_id,
                         all_phones_from_home_page_value=all_phones))
     return list(self.contact_cache)
Ejemplo n.º 6
0
 def convert(contact):
     return Contact(contact_id_value=str(contact.contact_id), first_name_value=contact.firstname,
                    last_name_value=contact.lastname)
Ejemplo n.º 7
0
import random
import string

test_data = [
    Contact(first_name_value="first_name_constant_1",
            middle_name_value="middle_name_constant_1",
            last_name_value="last_name_constant_1",
            nickname_value="nickname_constant_1",
            title_value="title_constant_1",
            company_value="company_constant_1",
            address_value="address_constant_1",
            home_phone_value="home_phone_constant_1",
            mobile_phone_value="mobile_phone_constant_1",
            work_phone_value="work_phone_constant_1",
            fax_value="fax_constant_1",
            email_value="email_constant_1",
            email2_value="email2_constant_1",
            email3_value="email3_constant_1",
            homepage_value="homepage_constant_1",
            bday_value="3",
            bmonth_value="March",
            byear_value="2003",
            aday_value="4",
            amonth_value="April",
            ayear_value="2004",
            secondary_address_value="secondary_address_constant_1",
            secondary_home_value="secondary_home_constant_1",
            secondary_notes_value="secondary_notes_constant_1"),
    Contact(first_name_value="first_name_constant",
            middle_name_value="middle_name_constant",
            last_name_value="last_name_constant",
            nickname_value="nickname_constant",
Ejemplo n.º 8
0
        "August", "September", "October", "November", "December"
    ]
    return random.choice(months)


def random_year():
    year = str(random.randrange(1970, 2021))
    return year


test_data_for_contact = [Contact(first_name_value="", middle_name_value="", last_name_value="",
                                 nickname_value="", title_value="", company_value="",
                                 address_value="",
                                 home_phone_value="", mobile_phone_value="",
                                 work_phone_value="", fax_value="",
                                 email_value="", email2_value="", email3_value="",
                                 homepage_value="",
                                 bday_value="-", bmonth_value="-", byear_value="",
                                 aday_value="-", amonth_value="-", ayear_value="",
                                 secondary_address_value="",
                                 secondary_home_value="",
                                 secondary_notes_value="")] + \
                        [Contact(first_name_value=random_string("first_name", 10),
                                 middle_name_value=random_string("middle_name", 10),
                                 last_name_value=random_string("last_name", 10),
                                 nickname_value=random_string("nickname", 10),
                                 title_value=random_string("title", 20),
                                 company_value=random_string("company_name", 20),
                                 address_value=random_string("address", 40),
                                 home_phone_value=random_string("home_phone", 10),
                                 mobile_phone_value=random_string("mobile_phone", 10),
                                 work_phone_value=random_string("work_phone", 10),
Ejemplo n.º 9
0
def test_edit_contact(app, db, check_ui):
    contact = Contact(
        first_name_value="Firstname",
        middle_name_value="Middlename",
        last_name_value="Lastname",
        nickname_value="Nickname",
        title_value="Title",
        company_value="Company",
        address_value="123456, address_city, address_street, address_home",
        home_phone_value="123456_home_phone",
        mobile_phone_value="123456_mobile_phone",
        work_phone_value="123456_work_phone",
        fax_value="123456_fax",
        email_value="*****@*****.**",
        email2_value="*****@*****.**",
        email3_value="*****@*****.**",
        homepage_value="https://home_page.com",
        bday_value="1",
        bmonth_value="January",
        byear_value="2000",
        aday_value="1",
        amonth_value="January",
        ayear_value="2020",
        secondary_address_value="Second address",
        secondary_home_value="Second home",
        secondary_notes_value="Notes")
    new_contact_data = Contact(
        first_name_value="Edit_name_test",
        middle_name_value="Edit_middle_name_test",
        last_name_value="Edit_last_name_test",
        nickname_value="edit_nickname_test",
        title_value="edit_title_test",
        company_value="edit_company_test",
        address_value="edit_address_test",
        home_phone_value="edit_home_phone_test",
        mobile_phone_value="edit_mobile_phone_test",
        work_phone_value="edit_work_phone_test",
        fax_value="edit_fax_test",
        email_value="edit_email_test",
        email2_value="edit_email2_test",
        email3_value="edit_email3_test",
        homepage_value="edit_homepage_test",
        bday_value="12",
        bmonth_value="November",
        byear_value="2020",
        aday_value="13",
        amonth_value="November",
        ayear_value="2023",
        secondary_address_value="edit_second_address_test",
        secondary_home_value="edit_second_home_test",
        secondary_notes_value="edit_notes_test")
    if app.contact.count_contacts() == 0:
        app.contact.create(contact)
    # получаем список контактов из БД
    old_contacts = db.get_contact_list()
    # выбираем из списка случайный контакт
    contact = random.choice(old_contacts)
    # модифицируем контакт
    app.contact.edit_contact_by_id(contact.contact_id, new_contact_data)
    # получаем новый список контактов
    new_contacts = db.get_contact_list()
    # ищем отредактированный контакт по id
    new_contact = next(x for x in new_contacts
                       if x.contact_id == contact.contact_id)
    # в старом списке удаляем старый контакт
    old_contacts.remove(contact)
    # на его место добавляем новый отредактированный
    old_contacts.append(new_contact)
    # сравниваем длины старого и нового списков
    assert len(old_contacts) == len(new_contacts)
    if check_ui:
        assert sorted(old_contacts,
                      key=Contact.id_or_max) == sorted(new_contacts,
                                                       key=Contact.id_or_max)