Skip to content

ViewTemplateModalWindow

Модуль modal_view_template содержит класс для работы с модальным окном шаблона.

Класс ViewTemplateModalWindow наследует базовый функционал ModalWindowComponent и реализует методы просмотра модального окна шаблона.

ViewTemplateModalWindow

Bases: ModalWindowComponent

Модальное окно шаблона.

Наследует ModalWindowComponent и добавляет функционал для: 1. Инициализации модального окна с конкретным шаблоном 2. Закрытия модального окна через тулбар 3. Проверки содержимого модального окна 4. Проверки содержимого JSON контейнера

Source code in components_derived\modal_view_template.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class ViewTemplateModalWindow(ModalWindowComponent):
    """Модальное окно шаблона.

    Наследует ModalWindowComponent и добавляет функционал для:
    1. Инициализации модального окна с конкретным шаблоном
    2. Закрытия модального окна через тулбар
    3. Проверки содержимого модального окна
    4. Проверки содержимого JSON контейнера
    """

    def __init__(self, page: Page, title: str):
        """Инициализирует элементы формы модального окна шаблона."""
        super().__init__(page)

        # Настройка заголовка и кнопки закрытия
        self.window_title = title
        locator_button_toolbar_close = self.page.get_by_role("navigation").filter(
            has_text=re.compile(self.window_title)
        ).get_by_role("button")

        self.add_toolbar_title(self.window_title)
        self.add_toolbar_button(locator_button_toolbar_close, "close")

        # Инициализация JSON контейнера
        self.json_container = JsonContainerComponent(page)

    def close_window_by_toolbar_button(self):
        """Закрывает окно через кнопку в тулбаре."""
        self.click_toolbar_close_button()

    def check_content(self) -> None:
        """Проверяет наличие и корректность элементов окна.

        Проверяет:
        1. Наличие заголовка окна с именем шаблона
        2. Видимость кнопки закрытия
        3. Подсказку кнопки закрытия
        """
        self.check_by_window_title()
        self.check_toolbar_button_visibility("close")
        self.check_toolbar_button_tooltip("close", "Закрыть")

    def verify_json_container_content(self, template_data: dict) -> None:
        """Проверяет соответствие данных контейнера данным из API.

        Args:
            template_data: Данные шаблона из API.
        """
        # Читаем данные из контейнера
        actual_data = self.json_container.read_data(JsonContainerLocators.CONTAINER)

        # Сравниваем actual_data с данными конкретного шаблона
        self.json_container.check_json_equals(
            actual_data,
            template_data,
            "Expected json content is not equal actual:"
        )

__init__(page, title)

Инициализирует элементы формы модального окна шаблона.

Source code in components_derived\modal_view_template.py
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def __init__(self, page: Page, title: str):
    """Инициализирует элементы формы модального окна шаблона."""
    super().__init__(page)

    # Настройка заголовка и кнопки закрытия
    self.window_title = title
    locator_button_toolbar_close = self.page.get_by_role("navigation").filter(
        has_text=re.compile(self.window_title)
    ).get_by_role("button")

    self.add_toolbar_title(self.window_title)
    self.add_toolbar_button(locator_button_toolbar_close, "close")

    # Инициализация JSON контейнера
    self.json_container = JsonContainerComponent(page)

check_content()

Проверяет наличие и корректность элементов окна.

Проверяет: 1. Наличие заголовка окна с именем шаблона 2. Видимость кнопки закрытия 3. Подсказку кнопки закрытия

Source code in components_derived\modal_view_template.py
48
49
50
51
52
53
54
55
56
57
58
def check_content(self) -> None:
    """Проверяет наличие и корректность элементов окна.

    Проверяет:
    1. Наличие заголовка окна с именем шаблона
    2. Видимость кнопки закрытия
    3. Подсказку кнопки закрытия
    """
    self.check_by_window_title()
    self.check_toolbar_button_visibility("close")
    self.check_toolbar_button_tooltip("close", "Закрыть")

close_window_by_toolbar_button()

Закрывает окно через кнопку в тулбаре.

Source code in components_derived\modal_view_template.py
44
45
46
def close_window_by_toolbar_button(self):
    """Закрывает окно через кнопку в тулбаре."""
    self.click_toolbar_close_button()

verify_json_container_content(template_data)

Проверяет соответствие данных контейнера данным из API.

Parameters:

Name Type Description Default
template_data dict

Данные шаблона из API.

required
Source code in components_derived\modal_view_template.py
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
def verify_json_container_content(self, template_data: dict) -> None:
    """Проверяет соответствие данных контейнера данным из API.

    Args:
        template_data: Данные шаблона из API.
    """
    # Читаем данные из контейнера
    actual_data = self.json_container.read_data(JsonContainerLocators.CONTAINER)

    # Сравниваем actual_data с данными конкретного шаблона
    self.json_container.check_json_equals(
        actual_data,
        template_data,
        "Expected json content is not equal actual:"
    )