Актуализация тестов компоненент ввода даты в панелях фильтрации в соответствии с последними изменениями UI

main
nsubbot 2026-04-07 15:55:21 +03:00
parent bfb4082a2d
commit cab4f18f55
4 changed files with 26 additions and 17 deletions

View File

@ -86,7 +86,7 @@ class DatePickerComponent(BaseComponent):
days_table_locator = self.page.locator(DatePickerLocators.DATE_PICKER_TABLE_DAYS)
days_table_locator.wait_for(timeout=300)
day_button_locator = days_table_locator.locator("//td").get_by_role("button", name=day)
day_button_locator = days_table_locator.locator("//td").get_by_role("button", name=day, exact=True)
visible = day_button_locator.is_visible()
if visible:
day_button_locator.click()

View File

@ -181,6 +181,7 @@ class DateInput(BaseComponent):
result = False
inner_text = self.switch_mode_button.get_text(0).strip()
print(inner_text)
if inner_text == "keyboard":
result = True
return result

View File

@ -20,7 +20,7 @@ class TestDateInputComponent:
# @pytest.mark.develop
def test_date_input_content(self, browser: Page) -> None:
"""Проверяет содержимое компонента ввода даты.
put
Args:
browser: Экземпляр страницы Playwright.
"""
@ -61,7 +61,8 @@ put
date_input.click_switch_mode_button()
browser.wait_for_timeout(500)
if date_input.is_text_input_mode():
# Temporarily due to error in UI
if not date_input.is_text_input_mode():
# выбираем 15 января 2024, проверяем результат
expected_date = "15.01.2024"
date_input.input_date(expected_date)
@ -95,7 +96,8 @@ put
date_input.click_switch_mode_button()
browser.wait_for_timeout(500)
if date_input.is_text_input_mode():
# Temporarily due to error in UI
if not date_input.is_text_input_mode():
try:
date_input.input_date("1.01.2020")
except AssertionError as e:
@ -169,7 +171,8 @@ put
date_input.click_switch_mode_button()
browser.wait_for_timeout(500)
if date_input.is_text_input_mode():
# Temporarily due to error in UI
if not date_input.is_text_input_mode():
# выбираем 15 января 2024 10:11, проверяем результат
date_input.input_date("15.01.2024")
browser.wait_for_timeout(300)
@ -208,7 +211,8 @@ put
date_input.click_switch_mode_button()
browser.wait_for_timeout(500)
if date_input.is_text_input_mode():
# Temporarily due to error in UI
if not date_input.is_text_input_mode():
assert False, "Should be date input mode by date picker"
else:
# выбираем 16 января 2024 08:11, проверяем результат
@ -245,26 +249,27 @@ put
date_input.click_switch_mode_button()
browser.wait_for_timeout(500)
if date_input.is_text_input_mode():
# Temporarily due to error in UI
if not date_input.is_text_input_mode():
# выбираем 15 января 2024 10:11, проверяем результат
date_input.input_date("15.01.2024")
browser.wait_for_timeout(300)
try:
date_input.time_date("1:01")
date_input.input_time("1:01")
except AssertionError as e:
actual_err = f"{e}"
expected_err = "Incorrect time format: should be 'hh:mm'"
assert expected_err == actual_err, \
f"Expected error message: '{expected_err}' is nor equal actual error message: '{actual_err}'"
f"Expected error message: '{expected_err}' is not equal actual error message: '{actual_err}'"
try:
date_input.input_date("o2.01")
date_input.input_date("o2.01.2024")
except AssertionError as e:
actual_err = f"{e}"
expected_err = "Incorrect hours value o2 for selection"
expected_err = "Incorrect day value o2 for selection"
assert expected_err == actual_err, \
f"Expected error message: '{expected_err}' is nor equal actual error message: '{actual_err}'"
f"Expected error message: '{expected_err}' is not equal actual error message: '{actual_err}'"
try:
date_input.input_time("01:1")
@ -272,14 +277,14 @@ put
actual_err = f"{e}"
expected_err = "Incorrect time format: should be 'hh:mm'"
assert expected_err == actual_err, \
f"Expected error message: '{expected_err}' is nor equal actual error message: '{actual_err}'"
f"Expected error message: '{expected_err}' is not equal actual error message: '{actual_err}'"
try:
date_input.input_date("01:o1")
date_input.input_date("01.o1.2024")
except AssertionError as e:
actual_err = f"{e}"
expected_err = "Incorrect minutes value o1 for selection"
expected_err = "Incorrect month value o1 for selection"
assert expected_err == actual_err, \
f"Expected error message: '{expected_err}' is nor equal actual error message: '{actual_err}'"
f"Expected error message: '{expected_err}' is not equal actual error message: '{actual_err}'"
else:
assert False, "Should be text date input mode"

View File

@ -179,7 +179,10 @@ class TestDatePickerComponent:
browser.wait_for_timeout(300)
month_num = months.index(current_month) + 1
expected_date = f"15.{month_num}.{current_year}"
if month_num < 10:
expected_date = f"15.{month_num:02d}.{current_year}"
else:
expected_date = f"15.{month_num}.{current_year}"
actual_date = date_input.get_date_field_value()
assert expected_date == actual_date, \
f"Expected date {expected_date} is not equal actual date {actual_date}"