From d30c16f709131b1204802fe3e2a5701f534b5b34 Mon Sep 17 00:00:00 2001 From: matveyvolodin <153534241+matveyvolodin@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:02:57 +0500 Subject: [PATCH 1/3] add AT for TC_13.002.001 --- components/announcement.py | 32 ++++++++++++++++++++++++++++++++ tests/test_announcement.py | 9 +++++++++ 2 files changed, 41 insertions(+) diff --git a/components/announcement.py b/components/announcement.py index 18bc1100..d9d3499c 100644 --- a/components/announcement.py +++ b/components/announcement.py @@ -264,3 +264,35 @@ def create_announcement_with_only_required_fields(self): self.fill_out_class_duration() self.fill_out_convenient_time() self.click_save_announcement_btn() + + + @allure.step("Проверяем, что все обязательные поля отмечены '*'/ 'Обязательное поле'") + def mandatory_fields_are_marked_check(self): + first_name_mark = self.page.locator('//label[@for="id_first_name"]//span[@class="asteriskField"]') + assert first_name_mark.is_visible(), f"Отметка поля с локатором {first_name_mark} не найдена" + last_name_mark = self.page.locator('//label[@for="id_last_name"]//span[@class="asteriskField"]') + assert last_name_mark.is_visible(), f"Отметка поля с локатором {last_name_mark} не найдена" + telegram_nick_mark = self.page.locator('//label[@for="id_telegram"]//span[@class="asteriskField"]') + assert telegram_nick_mark.is_visible(), f"Отметка поля с локатором {telegram_nick_mark} не найдена" + phone_mark = self.page.locator('//label[@for="id_phone"]//span[@class="asteriskField"]') + assert phone_mark.is_visible(), f"Отметка поля с локатором {phone_mark} не найдена" + download_photo_title_text = self.page.get_by_text("Рекомендуемое разрешение:").inner_text() + assert "Обязательное поле." in download_photo_title_text,\ + f"Отметка поля с локатором {download_photo_title_text} не найдена" + description_field_mark = self.page.locator('//label[@for="id_description"]//span[@class="asteriskField"]') + assert description_field_mark.is_visible(), f"Отметка поля с локатором {description_field_mark} не найдена" + student_category_mark = self.page.locator('//legend[@class="form-label requiredField"]//span[@class="asteriskField"]') + assert student_category_mark.is_visible(), f"Отметка поля с локатором {student_category_mark} не найдена" + can_help_field_mark= self.page.locator('//label[@for="id_can_help"]//span[@class="asteriskField"]') + assert can_help_field_mark.is_visible(), f"Отметка поля с локатором {can_help_field_mark} не найдена" + category_mark = self.page.locator('//label[@for="id_category"]//span[@class="asteriskField"]') + assert category_mark.is_visible(), f"Отметка поля с локатором {category_mark} не найдена" + experience_mark = self.page.locator('//label[@for="id_years_of_experience"]//span[@class="asteriskField"]') + assert experience_mark.is_visible(), f"Отметка поля с локатором {experience_mark} не найдена" + price_mark = self.page.locator('//label[@for="id_price"]//span[@class="asteriskField"]') + assert price_mark.is_visible(), f"Отметка поля с локатором {price_mark} не найдена" + duration_mark = self.page.locator('//label[@for="id_class_duration"]//span[@class="asteriskField"]') + assert duration_mark.is_visible(), f"Отметка поля с локатором {duration_mark} не найдена" + + + diff --git a/tests/test_announcement.py b/tests/test_announcement.py index b5c126f5..ad007c3e 100644 --- a/tests/test_announcement.py +++ b/tests/test_announcement.py @@ -130,3 +130,12 @@ def test_create_announcement_with_only_required_fields(header, announcement, reg header.click_create_announcement_btn() announcement.create_announcement_with_only_required_fields() announcement.verify_announcements_page_endpoint() + + +# TC_13.002.001| [Teacher] My announcement > Edit announcement > Mandatory fields are marked with "*" +def test_mandatory_fields_marked(header,login,announcement): + header.visit() + login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r") + announcement.click_my_announcement_button() + announcement.click_edit_announcement_button() + announcement.mandatory_fields_are_marked_check() From 2a031c8100978daa9fa472c23bad25382ac2cba8 Mon Sep 17 00:00:00 2001 From: matveyvolodin <153534241+matveyvolodin@users.noreply.github.com> Date: Thu, 16 Jan 2025 14:43:04 +0500 Subject: [PATCH 2/3] mandatory_fields_are_marked_check method rf --- components/announcement.py | 47 +++++++++++++++++--------------------- tests/test_header.py | 2 +- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/components/announcement.py b/components/announcement.py index d9d3499c..56840cfd 100644 --- a/components/announcement.py +++ b/components/announcement.py @@ -265,34 +265,29 @@ def create_announcement_with_only_required_fields(self): self.fill_out_convenient_time() self.click_save_announcement_btn() - @allure.step("Проверяем, что все обязательные поля отмечены '*'/ 'Обязательное поле'") def mandatory_fields_are_marked_check(self): - first_name_mark = self.page.locator('//label[@for="id_first_name"]//span[@class="asteriskField"]') - assert first_name_mark.is_visible(), f"Отметка поля с локатором {first_name_mark} не найдена" - last_name_mark = self.page.locator('//label[@for="id_last_name"]//span[@class="asteriskField"]') - assert last_name_mark.is_visible(), f"Отметка поля с локатором {last_name_mark} не найдена" - telegram_nick_mark = self.page.locator('//label[@for="id_telegram"]//span[@class="asteriskField"]') - assert telegram_nick_mark.is_visible(), f"Отметка поля с локатором {telegram_nick_mark} не найдена" - phone_mark = self.page.locator('//label[@for="id_phone"]//span[@class="asteriskField"]') - assert phone_mark.is_visible(), f"Отметка поля с локатором {phone_mark} не найдена" - download_photo_title_text = self.page.get_by_text("Рекомендуемое разрешение:").inner_text() - assert "Обязательное поле." in download_photo_title_text,\ - f"Отметка поля с локатором {download_photo_title_text} не найдена" - description_field_mark = self.page.locator('//label[@for="id_description"]//span[@class="asteriskField"]') - assert description_field_mark.is_visible(), f"Отметка поля с локатором {description_field_mark} не найдена" - student_category_mark = self.page.locator('//legend[@class="form-label requiredField"]//span[@class="asteriskField"]') - assert student_category_mark.is_visible(), f"Отметка поля с локатором {student_category_mark} не найдена" - can_help_field_mark= self.page.locator('//label[@for="id_can_help"]//span[@class="asteriskField"]') - assert can_help_field_mark.is_visible(), f"Отметка поля с локатором {can_help_field_mark} не найдена" - category_mark = self.page.locator('//label[@for="id_category"]//span[@class="asteriskField"]') - assert category_mark.is_visible(), f"Отметка поля с локатором {category_mark} не найдена" - experience_mark = self.page.locator('//label[@for="id_years_of_experience"]//span[@class="asteriskField"]') - assert experience_mark.is_visible(), f"Отметка поля с локатором {experience_mark} не найдена" - price_mark = self.page.locator('//label[@for="id_price"]//span[@class="asteriskField"]') - assert price_mark.is_visible(), f"Отметка поля с локатором {price_mark} не найдена" - duration_mark = self.page.locator('//label[@for="id_class_duration"]//span[@class="asteriskField"]') - assert duration_mark.is_visible(), f"Отметка поля с локатором {duration_mark} не найдена" + fields_to_check = [ + ("//label[@for='id_first_name']//span[@class='asteriskField']", "id_first_name"), + ("//label[@for='id_last_name']//span[@class='asteriskField']", "id_last_name"), + ("//label[@for='id_telegram']//span[@class='asteriskField']", "id_telegram"), + ("//label[@for='id_phone']//span[@class='asteriskField']", "id_phone"), + ("//label[@for='id_description']//span[@class='asteriskField']", "id_description"), + ("//legend[@class='form-label requiredField']//span[@class='asteriskField']", "student_category"), + ("//label[@for='id_can_help']//span[@class='asteriskField']", "id_can_help"), + ("//label[@for='id_category']//span[@class='asteriskField']", "id_category"), + ("//label[@for='id_years_of_experience']//span[@class='asteriskField']", "id_years_of_experience"), + ("//label[@for='id_price']//span[@class='asteriskField']", "id_price"), + ("//label[@for='id_class_duration']//span[@class='asteriskField']", "id_class_duration"), + ] + + for locator, field_name in fields_to_check: + field_mark = self.page.locator(locator) + assert field_mark.is_visible(), f"Отметка поля с локатором {field_name} не найдена" + download_photo_title_text = self.page.get_by_text("Рекомендуемое разрешение:").inner_text() + assert "Обязательное поле." in download_photo_title_text, ( + f"Текст 'Обязательное поле.' не найден в {download_photo_title_text}" + ) diff --git a/tests/test_header.py b/tests/test_header.py index 0700ad5b..7521f951 100644 --- a/tests/test_header.py +++ b/tests/test_header.py @@ -276,6 +276,6 @@ def test_find_tutor_btn_visibility_as_student(login, header): # TC_31.004.001.003 | [Student ] Header > Find Teacher(button) > Visibility check #321 def test_find_tutor_btn_clickable_redirection_as_student(login, header): header.visit() - header.click_login_button() + # header.click_login_button() login.full_login("acc.python.test@gmail.com", "jUvJ5ZSxzdIr") header.student_find_tutor_button_clickable_redirect() \ No newline at end of file From 750b9aeeb8975f3cd02368067a8bc4c7b247b4de Mon Sep 17 00:00:00 2001 From: matveyvolodin <153534241+matveyvolodin@users.noreply.github.com> Date: Thu, 16 Jan 2025 15:01:48 +0500 Subject: [PATCH 3/3] test_mandatory_fields_marked formated --- tests/test_announcement.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_announcement.py b/tests/test_announcement.py index ad007c3e..534f65a8 100644 --- a/tests/test_announcement.py +++ b/tests/test_announcement.py @@ -133,9 +133,9 @@ def test_create_announcement_with_only_required_fields(header, announcement, reg # TC_13.002.001| [Teacher] My announcement > Edit announcement > Mandatory fields are marked with "*" -def test_mandatory_fields_marked(header,login,announcement): +def test_mandatory_fields_marked(header, login, announcement): header.visit() login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r") announcement.click_my_announcement_button() announcement.click_edit_announcement_button() - announcement.mandatory_fields_are_marked_check() + announcement.mandatory_fields_are_marked_check() \ No newline at end of file