refactor(users): исправление опечатки и форматирования кода
>> >> - Исправлена опечатка в названии метода check_navigation_panel_verticall_scrolling на check_navigation_panel_vertical_scrolling >> - Улучшено форматирование кода для лучшей читаемости >> - Удалены лишние пробелы и приведено к единому стилю оформленияradislav/tests_rack
parent
27ca4596fa
commit
a2d37a8090
|
|
@ -50,6 +50,7 @@ class UsersTab(BasePage):
|
|||
self.alert = AlertComponent(page)
|
||||
|
||||
# Действия:
|
||||
|
||||
def add_modal_window(self, window_type: str, title: str) -> None:
|
||||
"""Добавляет модальное окно в коллекцию.
|
||||
|
||||
|
|
@ -70,98 +71,6 @@ class UsersTab(BasePage):
|
|||
else:
|
||||
assert False, "Unsupported modal window type"
|
||||
|
||||
def get_modal_window(self, title: str) -> ModalWindowComponent:
|
||||
"""Возвращает модальное окно по заголовку.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
|
||||
Returns:
|
||||
ModalWindowComponent: Экземпляр модального окна.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если окно не найдено.
|
||||
"""
|
||||
|
||||
modal_window = self.modal_windows.get(title)
|
||||
if modal_window is None:
|
||||
assert False, f"Modal window with title '{title}' not found"
|
||||
return modal_window
|
||||
|
||||
def delete_modal_window(self, title: str) -> None:
|
||||
"""Удаляет модальное окно из коллекции.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если окно не найдено.
|
||||
"""
|
||||
|
||||
if self.modal_windows.get(title) is None:
|
||||
assert False, f"Modal window with title '{title}' not found"
|
||||
self.modal_windows[title] = None
|
||||
|
||||
def close_modal_window_by_toolbar_button(self, title: str) -> None:
|
||||
"""Закрывает модальное окно через кнопку в тулбаре.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
"""
|
||||
|
||||
modal_window = self.get_modal_window(title)
|
||||
modal_window.close_window_by_toolbar_button()
|
||||
self.delete_modal_window(title)
|
||||
|
||||
def close_modal_window(self, title: str) -> None:
|
||||
"""Закрывает модальное окно через кнопку закрытия.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
"""
|
||||
|
||||
modal_window = self.get_modal_window(title)
|
||||
modal_window.close_window()
|
||||
self.delete_modal_window(title)
|
||||
|
||||
def close_add_AD_user_window_by_toolbar_button(self) -> None:
|
||||
"""Закрывает окно добавления пользователя через тулбар."""
|
||||
|
||||
self.close_modal_window_by_toolbar_button("add_AD_user")
|
||||
|
||||
def close_add_AD_user_window(self) -> None:
|
||||
"""Закрывает окно добавления пользователя."""
|
||||
|
||||
self.close_modal_window("add_AD_user")
|
||||
|
||||
def close_add_user_window_by_toolbar_button(self) -> None:
|
||||
"""Закрывает окно добавления пользователя через тулбар."""
|
||||
|
||||
self.close_modal_window_by_toolbar_button("add_local_user")
|
||||
|
||||
def close_add_user_window(self) -> None:
|
||||
"""Закрывает окно добавления пользователя."""
|
||||
|
||||
self.close_modal_window("add_local_user")
|
||||
|
||||
def close_edit_user_window_by_toolbar_button(self, title: str) -> None:
|
||||
"""Закрывает окно редактирования через кнопку в тулбаре.
|
||||
|
||||
Args:
|
||||
title: Имя пользователя (заголовок окна).
|
||||
"""
|
||||
|
||||
self.close_modal_window_by_toolbar_button(title)
|
||||
|
||||
def close_edit_user_window(self, title: str) -> None:
|
||||
"""Закрывает окно редактирования пользователя.
|
||||
|
||||
Args:
|
||||
title: Имя пользователя (заголовок окна).
|
||||
"""
|
||||
|
||||
self.close_modal_window(title)
|
||||
|
||||
def add_new_user(self, user_data: dict) -> bool:
|
||||
"""Добавляет нового пользователя или обрабатывает ошибку при дубликате.
|
||||
|
||||
|
|
@ -193,7 +102,6 @@ class UsersTab(BasePage):
|
|||
self.alert.check_alert_absence(' Новый пользователь \n успешно добавлен! ')
|
||||
is_added = True
|
||||
elif alert_type == "error":
|
||||
print(f' Имя {user_data["name"]} уже используется ')
|
||||
self.alert.check_alert_presence(f' Имя {user_data["name"]} уже \n используется ')
|
||||
self.alert.check_alert_absence(f' Имя {user_data["name"]} уже \n используется ')
|
||||
else:
|
||||
|
|
@ -201,6 +109,80 @@ class UsersTab(BasePage):
|
|||
|
||||
return is_added
|
||||
|
||||
def close_add_AD_user_window(self) -> None:
|
||||
"""Закрывает окно добавления пользователя."""
|
||||
|
||||
self.close_modal_window("add_AD_user")
|
||||
|
||||
def close_add_AD_user_window_by_toolbar_button(self) -> None:
|
||||
"""Закрывает окно добавления пользователя через тулбар."""
|
||||
|
||||
self.close_modal_window_by_toolbar_button("add_AD_user")
|
||||
|
||||
def close_add_user_window(self) -> None:
|
||||
"""Закрывает окно добавления пользователя."""
|
||||
|
||||
self.close_modal_window("add_local_user")
|
||||
|
||||
def close_add_user_window_by_toolbar_button(self) -> None:
|
||||
"""Закрывает окно добавления пользователя через тулбар."""
|
||||
|
||||
self.close_modal_window_by_toolbar_button("add_local_user")
|
||||
|
||||
def close_edit_user_window(self, title: str) -> None:
|
||||
"""Закрывает окно редактирования пользователя.
|
||||
|
||||
Args:
|
||||
title: Имя пользователя (заголовок окна).
|
||||
"""
|
||||
|
||||
self.close_modal_window(title)
|
||||
|
||||
def close_edit_user_window_by_toolbar_button(self, title: str) -> None:
|
||||
"""Закрывает окно редактирования через кнопку в тулбаре.
|
||||
|
||||
Args:
|
||||
title: Имя пользователя (заголовок окна).
|
||||
"""
|
||||
|
||||
self.close_modal_window_by_toolbar_button(title)
|
||||
|
||||
def close_modal_window(self, title: str) -> None:
|
||||
"""Закрывает модальное окно через кнопку закрытия.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
"""
|
||||
|
||||
modal_window = self.get_modal_window(title)
|
||||
modal_window.close_window()
|
||||
self.delete_modal_window(title)
|
||||
|
||||
def close_modal_window_by_toolbar_button(self, title: str) -> None:
|
||||
"""Закрывает модальное окно через кнопку в тулбаре.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
"""
|
||||
|
||||
modal_window = self.get_modal_window(title)
|
||||
modal_window.close_window_by_toolbar_button()
|
||||
self.delete_modal_window(title)
|
||||
|
||||
def delete_modal_window(self, title: str) -> None:
|
||||
"""Удаляет модальное окно из коллекции.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если окно не найдено.
|
||||
"""
|
||||
|
||||
if self.modal_windows.get(title) is None:
|
||||
assert False, f"Modal window with title '{title}' not found"
|
||||
self.modal_windows[title] = None
|
||||
|
||||
def delete_user(self, user_name: str) -> None:
|
||||
"""Удаляет пользователя.
|
||||
|
||||
|
|
@ -238,26 +220,6 @@ class UsersTab(BasePage):
|
|||
self.alert.check_alert_presence('\nОбновление успешно\n')
|
||||
self.alert.check_alert_absence('\nОбновление успешно\n')
|
||||
|
||||
def reset_password(self, user_name: str) -> str:
|
||||
"""Сбрасывает пароль пользователя.
|
||||
|
||||
Args:
|
||||
user_name: Имя пользователя.
|
||||
|
||||
Returns:
|
||||
str: Новый пароль (если получен).
|
||||
"""
|
||||
|
||||
new_password = ""
|
||||
self.get_modal_window(user_name).reset_password()
|
||||
|
||||
self.alert.check_alert_presence("")
|
||||
alert_message = self.alert.get_text()
|
||||
if len(alert_message) > 0:
|
||||
new_password = re.findall(r'[\d]+', alert_message)[0]
|
||||
|
||||
return new_password
|
||||
|
||||
def find_user_in_table(self, name: str, role: str) -> int:
|
||||
"""Ищет пользователя в таблице.
|
||||
|
||||
|
|
@ -278,13 +240,32 @@ class UsersTab(BasePage):
|
|||
if len(table_content) == 0:
|
||||
assert False, "The contents of the table are missing"
|
||||
|
||||
del table_content[0] # Удаляем заголовок
|
||||
# Удаляем заголовок
|
||||
del table_content[0]
|
||||
|
||||
for row_index, user_info in enumerate(table_content):
|
||||
if name in user_info and role in user_info:
|
||||
return row_index
|
||||
return -1
|
||||
|
||||
def get_modal_window(self, title: str) -> ModalWindowComponent:
|
||||
"""Возвращает модальное окно по заголовку.
|
||||
|
||||
Args:
|
||||
title: Заголовок окна.
|
||||
|
||||
Returns:
|
||||
ModalWindowComponent: Экземпляр модального окна.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если окно не найдено.
|
||||
"""
|
||||
|
||||
modal_window = self.modal_windows.get(title)
|
||||
if modal_window is None:
|
||||
assert False, f"Modal window with title '{title}' not found"
|
||||
return modal_window
|
||||
|
||||
def open_add_user_window(self) -> None:
|
||||
"""Открывает окно добавления пользователя.
|
||||
|
||||
|
|
@ -299,7 +280,7 @@ class UsersTab(BasePage):
|
|||
self.toolbar.check_button_visibility("add_user")
|
||||
self.toolbar.click_button("add_user")
|
||||
self.page.wait_for_timeout(700)
|
||||
|
||||
|
||||
self.add_modal_window("add_local_user", "")
|
||||
self.get_modal_window("add_local_user").check_by_window_title()
|
||||
|
||||
|
|
@ -325,7 +306,8 @@ class UsersTab(BasePage):
|
|||
if len(table_content) == 0:
|
||||
assert False, "The contents of the table are missing"
|
||||
|
||||
del table_content[0] # Удаляем заголовок
|
||||
# Удаляем заголовок
|
||||
del table_content[0]
|
||||
|
||||
if row_index >= len(table_content):
|
||||
assert False, "Row_index is out of range"
|
||||
|
|
@ -359,11 +341,30 @@ class UsersTab(BasePage):
|
|||
if row_index == -1:
|
||||
assert False, f"User with name {user_name} and role {role} has not been found"
|
||||
|
||||
self.page.locator(TableLocators.TABLE_WORK_AREA).locator(
|
||||
"//tbody/tr").nth(row_index).click()
|
||||
self.page.locator(TableLocators.TABLE_WORK_AREA).locator("//tbody/tr").nth(row_index).click()
|
||||
self.add_modal_window("edit_user", user_name)
|
||||
self.get_modal_window(user_name).check_by_window_title()
|
||||
|
||||
def reset_password(self, user_name: str) -> str:
|
||||
"""Сбрасывает пароль пользователя.
|
||||
|
||||
Args:
|
||||
user_name: Имя пользователя.
|
||||
|
||||
Returns:
|
||||
str: Новый пароль (если получен).
|
||||
"""
|
||||
|
||||
new_password = ""
|
||||
self.get_modal_window(user_name).reset_password()
|
||||
|
||||
self.alert.check_alert_presence("")
|
||||
alert_message = self.alert.get_text()
|
||||
if len(alert_message) > 0:
|
||||
new_password = re.findall(r'[\d]+', alert_message)[0]
|
||||
|
||||
return new_password
|
||||
|
||||
def transform_to_add_AD_user_window(self):
|
||||
"""Трансформирует модальное окно добавления локального пользователя
|
||||
в окно добавления пользователя Active Directory с помощью нажатия
|
||||
|
|
@ -387,6 +388,27 @@ class UsersTab(BasePage):
|
|||
self.add_modal_window("add_local_user", "")
|
||||
|
||||
# Проверки:
|
||||
def check_add_AD_user_window_content(self) -> None:
|
||||
"""Проверяет содержимое окна добавления пользователя через Active Directory."""
|
||||
|
||||
self.get_modal_window("add_AD_user").check_content()
|
||||
|
||||
def check_add_user_window_content(self) -> None:
|
||||
"""Проверяет содержимое окна добавления локального пользователя."""
|
||||
|
||||
self.get_modal_window("add_local_user").check_content()
|
||||
|
||||
def check_edit_user_window_content(self, user_name: str, role: str) -> None:
|
||||
"""Проверяет содержимое окна редактирования.
|
||||
|
||||
Args:
|
||||
user_name: Имя пользователя.
|
||||
role: Роль пользователя.
|
||||
"""
|
||||
|
||||
edit_user_window = self.get_modal_window(user_name)
|
||||
edit_user_window.check_content(user_name, role)
|
||||
|
||||
def check_users_table_content(self, verify: bool = False) -> None:
|
||||
"""Проверяет содержимое таблицы пользователей.
|
||||
|
||||
|
|
@ -418,27 +440,6 @@ class UsersTab(BasePage):
|
|||
if verify:
|
||||
self.verify_users_table_content(table_content)
|
||||
|
||||
def check_add_user_window_content(self) -> None:
|
||||
"""Проверяет содержимое окна добавления локального пользователя."""
|
||||
|
||||
self.get_modal_window("add_local_user").check_content()
|
||||
|
||||
def check_add_AD_user_window_content(self) -> None:
|
||||
"""Проверяет содержимое окна добавления пользователя через Active Directory."""
|
||||
|
||||
self.get_modal_window("add_AD_user").check_content()
|
||||
|
||||
def check_edit_user_window_content(self, user_name: str, role: str) -> None:
|
||||
"""Проверяет содержимое окна редактирования.
|
||||
|
||||
Args:
|
||||
user_name: Имя пользователя.
|
||||
role: Роль пользователя.
|
||||
"""
|
||||
|
||||
edit_user_window = self.get_modal_window(user_name)
|
||||
edit_user_window.check_content(user_name, role)
|
||||
|
||||
def should_be_toolbar(self) -> None:
|
||||
"""Проверяет наличие тулбара.
|
||||
|
||||
|
|
@ -468,18 +469,6 @@ class UsersTab(BasePage):
|
|||
self.toolbar.get_button_by_name("close").click()
|
||||
self.toolbar.check_button_visibility("edit")
|
||||
|
||||
def should_be_users_table(self) -> None:
|
||||
"""Проверяет наличие таблицы пользователей.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если таблица отсутствует.
|
||||
"""
|
||||
|
||||
self.users_table.check_visibility(
|
||||
TableLocators.TABLE_WORK_AREA,
|
||||
"Users table is missing"
|
||||
)
|
||||
|
||||
def should_be_user_in_table(self, name: str, role: str) -> None:
|
||||
"""Проверяет наличие пользователя в таблице.
|
||||
|
||||
|
|
@ -495,6 +484,15 @@ class UsersTab(BasePage):
|
|||
if found == -1:
|
||||
assert False, f"User with name {name} and role {role} has not been found"
|
||||
|
||||
def should_be_users_table(self) -> None:
|
||||
"""Проверяет наличие таблицы пользователей.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если таблица отсутствует.
|
||||
"""
|
||||
|
||||
self.users_table.check_visibility(TableLocators.TABLE_WORK_AREA,"Users table is missing")
|
||||
|
||||
def should_not_be_user_in_table(self, name: str, role: str) -> None:
|
||||
"""Проверяет отсутствие пользователя в таблице.
|
||||
|
||||
|
|
@ -547,7 +545,8 @@ class UsersTab(BasePage):
|
|||
|
||||
if item["role"] is not None:
|
||||
role = item["role"]
|
||||
if role in roles_dict: # Убрали вызов .keys()
|
||||
# Убрали вызов .keys()
|
||||
if role in roles_dict:
|
||||
item["role"] = roles_dict[role]
|
||||
user_info.append(item["role"])
|
||||
else:
|
||||
|
|
@ -565,7 +564,8 @@ class UsersTab(BasePage):
|
|||
|
||||
expected_users_list.append(user_info)
|
||||
|
||||
del users_table[0] # Удаляем заголовок
|
||||
# Удаляем заголовок
|
||||
del users_table[0]
|
||||
|
||||
self.check_lists_equals(
|
||||
users_table,
|
||||
|
|
|
|||
Loading…
Reference in New Issue