Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Data/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
EMAIL_TUTOR_KM = "tutor_testing@bk.ru"
PASSWORD_TUTOR_KM = "I165TVAzghk8"

EMAIL_TUTOR_MV = "teacher-test@yopmail.com"
PASSWORD_TUTOR_MV = "5uR94zLhF80r"

# without announcement
EMAIL_TUTOR_WA_KM = "tutor_test_misliplav@mail.ru"
PASSWORD_TUTOR_WA_KM = "iZ52toubKacm"
Expand Down
36 changes: 16 additions & 20 deletions components/announcement.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,32 +153,28 @@ def click_my_announcement_button(self):
)

@allure.step("Кликаем на кнопку 'Сделать объявление видимым для учеников'")
def click_make_announcement_invisible(self):
def click_make_announcement_visible(self):
self.page.get_by_role(
"link", name="Сделать обьявление видимым для учеников"
"link", name="Сделать видимым "
).click()

@allure.step(
"Проверяем изменение текста кнопки на 'Сделать объявление невидимым для учеников'"
)
def check_button_text_invisible(self):
expect(self.page.get_by_role("main")).to_contain_text(
"Сделать обьявление невидимым для учеников"
)

@allure.step("Кликаем на кнопку 'Сделать объявление невидимым для учеников'")
def click_make_announcement_visible(self):
@allure.step("Кликаем на кнопку 'Сделать невидимым'")
def click_make_announcement_invisible(self):
self.page.get_by_role(
"link", name="Сделать обьявление невидимым для учеников"
"link", name="Сделать невидимым"
).click()

@allure.step(
"Проверяем изменение текста кнопки на 'Сделать объявление невидимым для учеников'"
)
def check_button_text_visible(self):
expect(self.page.get_by_role("main")).to_contain_text(
"Сделать обьявление видимым для учеников"
)
@allure.step("Проверяем отсутствие скрытого объявления в листинге")
def verify_announcement_hiding(self, footer, header, announcement):
collected_announcement =[]
footer.open_find_tutor_page()
announcements= self.page.locator('//div[@class="p-3 flex-grow-1 d-flex flex-column"]//h5')
announcements_count = announcements.count()
for i in range(announcements_count):
announcement_text = announcements.nth(i).inner_text()
collected_announcement.append(announcement_text)
print(f"Relevant announcements: {collected_announcement}")
assert "Leeloo Minai" not in collected_announcement, "Объявление Leeloo Minai отображается в листинге"

@allure.step("Кликаем кнопку 'Редактировать объявление'")
def click_edit_announcement_button(self):
Expand Down
39 changes: 12 additions & 27 deletions tests/test_announcement.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import allure
import pytest
from Data.data import EMAIL_TUTOR_KM, PASSWORD_TUTOR_KM, EMAIL_TUTOR_WA_KM, PASSWORD_TUTOR_WA_KM
from Data.data import EMAIL_TUTOR_KM, PASSWORD_TUTOR_KM, EMAIL_TUTOR_WA_KM, PASSWORD_TUTOR_WA_KM, EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV


# TC_12.002.001| [Teacher] Create announcement > Create teacher announcement.
Expand Down Expand Up @@ -43,33 +43,20 @@ def test_teacher_announcement_blank_form(
announcement.verify_number_of_announcements_is_zero()


# TC_15.001.005.001 | Teacher Profile > Hiding announcement > Name changes and teacher's announcement became invisible.
# Check that option “Сделать объявление невидимым для учеников” switches to the option
# "Сделать объявление видимым для учеников" and Teacher's announcement became invisible from the list.
@pytest.mark.skip("needs to be fixed")
def test_teacher_hiding_announcement(header, login, announcement):
# TC_13.001.005 | [Teacher]My_announcement > Verify the ability to hide the ad from students
def test_teacher_hiding_announcement(header, login, announcement, footer):
header.visit()
header.click_login_button()
login.full_login(EMAIL_TUTOR_KM, PASSWORD_TUTOR_KM)
announcement.click_my_announcement_button()
announcement.click_make_announcement_visible()
announcement.check_button_text_visible()

# Removed try block for check_teacher_announcement_invisible
try:
announcement.check_teacher_announcement_invisible()
except Exception as e:
print(f"Error in check_teacher_announcement_invisible: {e}")

login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
announcement.click_my_announcement_button()
announcement.click_make_announcement_invisible()
announcement.check_button_text_invisible()
announcement.verify_announcement_hiding(footer, header, announcement)
header.click_my_announcement_button()
announcement.click_make_announcement_visible()


# TC_15.001.002 | Header-Teacher > My announcements ("Мои объявления") when User has an announcement >
# Verify the teacher's name in the announcement


@pytest.mark.skip(reason="не прошёл CI после изменений 26.12.2024")
def test_teacher_announcement_name(
header, register, my_teachers, create_announcement_page, announcement
Expand All @@ -87,7 +74,7 @@ def test_teacher_announcement_name(
# TC_13.001.001 | [Teacher]My_announcement > "Просмотреть" button redirection check
def test_view_announcement_btn_redirection(header, announcement, login):
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
announcement.click_my_announcement_button()
announcement.click_view_announcement_button()
announcement.check_announcement_url_by_template()
Expand All @@ -96,7 +83,7 @@ def test_view_announcement_btn_redirection(header, announcement, login):
# TC_13.001.003 | [Teacher]My_announcement > "Редактировать" button redirection check
def test_edit_announcement_btn_redirection(header, announcement, login):
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
announcement.click_my_announcement_button()
announcement.click_edit_announcement_button()
announcement.check_edit_announcement_page_url()
Expand All @@ -105,7 +92,7 @@ def test_edit_announcement_btn_redirection(header, announcement, login):
# TC_13.001.004 | [Teacher]My_announcement > Verify the ability to see detailed ad statistics
def test_announcement_detailed_info(header, announcement, login):
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
announcement.click_my_announcement_button()
announcement.check_view_counter_visible()

Expand All @@ -120,8 +107,6 @@ def test_redirection_to_my_announcement_page(header, announcement, login):

# TC_12.002.003 | [Teacher] Create announcement > Create teacher announcement >
# Verify the announcement is created after filling in required form fields with valid data #313


@pytest.mark.skip(reason="Тест временно отключен после обновления 09.01.2025")
def test_create_announcement_with_only_required_fields(header, announcement, register):
# email, password = user_registration_cleanup
Expand All @@ -136,7 +121,7 @@ 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_field_marks_on_edit_announcement_page(header, login, announcement):
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
announcement.click_my_announcement_button()
announcement.click_edit_announcement_button()
announcement.verify_mandatory_fields_are_marked()
Expand All @@ -145,7 +130,7 @@ def test_mandatory_field_marks_on_edit_announcement_page(header, login, announce
# TC_13.007.002| [Teacher] My announcement > Edit announcement > Mandatory fields are required to be filled
def test_mandatory_fields_on_edit_announcement_page(header, login, announcement):
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
announcement.click_my_announcement_button()
announcement.click_edit_announcement_button()
announcement.clear_mandatory_fields()
Expand Down
8 changes: 5 additions & 3 deletions tests/test_header.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import allure
import pytest

from Data.data import EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV
from core.settings import pages_urls_for_guest
from core.settings import site_pages_urls
from playwright.sync_api import Page
Expand Down Expand Up @@ -196,7 +198,7 @@ def test_hover_exit_button_for_student_color_check(header, register):
def test_profile_btn_visibility(header, login, data, page: Page):
"""Проверка видимости кнопки 'Профиль'"""
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
page_url = data["url"]
page.goto(page_url)
header.profile_button_should_be_visible()
Expand All @@ -209,7 +211,7 @@ def test_profile_btn_visibility(header, login, data, page: Page):
def test_profile_btn_hover(header, login, data, page: Page):
"""Проверка смены цвета кнопки 'Профиль' при наведении на нее курсора"""
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
page_url = data["url"]
page.goto(page_url)
header.hover_profile_btn_color_check()
Expand All @@ -222,7 +224,7 @@ def test_profile_btn_hover(header, login, data, page: Page):
def test_profile_btn_redirection(header, user_profile, login, data, page: Page):
"""Проверка перенаправления на страницу профиля пользователя после нажатия кнопки 'Профиль'"""
header.visit()
login.full_login("teacher-test@yopmail.com", "5uR94zLhF80r")
login.full_login(EMAIL_TUTOR_MV, PASSWORD_TUTOR_MV)
page_url = data["url"]
page.goto(page_url)
header.click_profile_button()
Expand Down
Loading