обавлены тайм-ауты в операциях с таблицами
parent
c2f0cd9aa4
commit
f225e4c9b2
|
|
@ -30,6 +30,39 @@ class TestUsersTab:
|
|||
mp.click_main_navigation_panel_item("Настройки")
|
||||
mp.click_configuration_navigation_panel_item("Пользователи")
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def cleanup_user(self, browser: Page) -> None:
|
||||
"""Фикстура для очистки пользователя User после теста."""
|
||||
yield
|
||||
# Удаляем тестового пользователя после выполнения теста
|
||||
user_data: Dict[str, str] = {"name": "User", "role": "Администратор", "password": "987654"}
|
||||
ut = UsersTab(browser)
|
||||
|
||||
# Проверяем существует ли пользователь и удаляем его
|
||||
if ut.find_user_in_table(user_data["name"], user_data["role"]) != -1:
|
||||
ut.open_edit_user_page_by_user(user_data["name"], user_data["role"])
|
||||
ut.delete_user(user_data["name"])
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def cleanup_autoadmin(self, browser: Page) -> None:
|
||||
"""Фикстура для очистки пользователя autoadmin после теста."""
|
||||
yield
|
||||
user_data: Dict[str, str] = {"name": "autoadmin", "role": "Администратор", "password": "123456"}
|
||||
ut = UsersTab(browser)
|
||||
if ut.find_user_in_table(user_data["name"], user_data["role"]) != -1:
|
||||
ut.open_edit_user_page_by_user(user_data["name"], user_data["role"])
|
||||
ut.delete_user(user_data["name"])
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def cleanup_autooperator(self, browser: Page) -> None:
|
||||
"""Фикстура для очистки пользователя autooperator после теста."""
|
||||
yield
|
||||
user_data: Dict[str, str] = {"name": "autooperator", "role": "Оператор", "password": "123245"}
|
||||
ut = UsersTab(browser)
|
||||
if ut.find_user_in_table(user_data["name"], user_data["role"]) != -1:
|
||||
ut.open_edit_user_page_by_user(user_data["name"], user_data["role"])
|
||||
ut.delete_user(user_data["name"])
|
||||
|
||||
def test_users_tab_content(self, browser: Page) -> None:
|
||||
"""Проверяет содержимое вкладки 'Пользователи'.
|
||||
|
||||
|
|
@ -101,11 +134,12 @@ class TestUsersTab:
|
|||
user_name, role = ut.open_edit_user_page_by_index(0)
|
||||
ut.close_edit_user_window(user_name)
|
||||
|
||||
def test_add_and_delete_user(self, browser: Page) -> None:
|
||||
def test_add_and_delete_user(self, browser: Page, cleanup_user) -> None:
|
||||
"""Проверяет добавление и удаление пользователя.
|
||||
|
||||
Args:
|
||||
browser: Экземпляр страницы Playwright.
|
||||
cleanup_user: Фикстура для очистки пользователя.
|
||||
"""
|
||||
|
||||
user_data: Dict[str, str] = {"name": "User", "role": "Администратор", "password": "987654"}
|
||||
|
|
@ -113,22 +147,46 @@ class TestUsersTab:
|
|||
mp = MainPage(browser)
|
||||
ut = UsersTab(browser)
|
||||
|
||||
# Проверяем, есть ли такой пользователь
|
||||
user_exists = ut.find_user_in_table(user_data["name"], user_data["role"]) != -1
|
||||
|
||||
if not user_exists:
|
||||
# Создаем пользователя впервые
|
||||
ut.open_add_user_window()
|
||||
success = ut.add_new_user(user_data)
|
||||
|
||||
if success:
|
||||
# Ждем обновления таблицы с использованием ожиданий Playwright
|
||||
browser.wait_for_timeout(2000)
|
||||
|
||||
# Проверяем наличие пользователя в таблице
|
||||
user_found = ut.find_user_in_table(user_data["name"], user_data["role"]) != -1
|
||||
if not user_found:
|
||||
# Если пользователь не найден, обновляем страницу
|
||||
browser.reload()
|
||||
browser.wait_for_timeout(2000)
|
||||
else:
|
||||
ut.close_add_user_window()
|
||||
|
||||
# Пытаемся создать такого же пользователя снова
|
||||
ut.open_add_user_window()
|
||||
ut.add_new_user(user_data)
|
||||
mp.click_configuration_navigation_panel_item("Пользователи")
|
||||
mp.click_configuration_navigation_panel_item("Пользователи")
|
||||
ut.should_be_user_in_table(user_data["name"], user_data["role"])
|
||||
success_second = ut.add_new_user(user_data)
|
||||
|
||||
# Должно вернуться False при попытке создания существующего пользователя
|
||||
assert not success_second, "Ожидалась ошибка при создании существующего пользователя"
|
||||
|
||||
ut.open_edit_user_page_by_user(user_data["name"], user_data["role"])
|
||||
ut.delete_user(user_data["name"])
|
||||
mp.click_configuration_navigation_panel_item("Пользователи")
|
||||
mp.click_configuration_navigation_panel_item("Пользователи")
|
||||
ut.should_not_be_user_in_table(user_data["name"], user_data["role"])
|
||||
|
||||
def test_reset_password(self, browser: Page) -> None:
|
||||
def test_reset_password(self, browser: Page, cleanup_autoadmin) -> None:
|
||||
"""Проверяет сброс пароля пользователя.
|
||||
|
||||
Args:
|
||||
browser: Экземпляр страницы Playwright.
|
||||
cleanup_autoadmin: Фикстура для очистки пользователя autoadmin.
|
||||
"""
|
||||
|
||||
user_data: Dict[str, str] = {"name": "autoadmin", "role": "Администратор", "password": "123456"}
|
||||
|
|
@ -163,11 +221,12 @@ class TestUsersTab:
|
|||
mp_1.click_configuration_navigation_panel_item("Пользователи")
|
||||
ut_1.should_not_be_user_in_table(user_data["name"], user_data["role"])
|
||||
|
||||
def test_edit_user_role(self, browser: Page) -> None:
|
||||
def test_edit_user_role(self, browser: Page, cleanup_autooperator) -> None:
|
||||
"""Проверяет изменение роли пользователя.
|
||||
|
||||
Args:
|
||||
browser: Экземпляр страницы Playwright.
|
||||
cleanup_autooperator: Фикстура для очистки пользователя autooperator.
|
||||
"""
|
||||
|
||||
user_data: Dict[str, str] = {"name": "autooperator", "role": "Оператор", "password": "123245"}
|
||||
|
|
|
|||
Loading…
Reference in New Issue