39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
import pytest
|
|
from PySide6.QtWidgets import QApplication
|
|
|
|
from bedit_gui.controllers.view_menu_controller import ViewMenuController
|
|
from bedit_gui.views.main_window import MainWindow
|
|
|
|
|
|
@pytest.fixture(scope="module")
|
|
def qt_app() -> QApplication:
|
|
return QApplication.instance() or QApplication([])
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_view_submenus_contain_visibility_actions(
|
|
qt_app: QApplication,
|
|
) -> None:
|
|
window = MainWindow()
|
|
controller = ViewMenuController(window)
|
|
|
|
assert window.ui.actionPanels.menu() is controller.panels_menu
|
|
assert window.ui.actionToolbars.menu() is controller.toolbars_menu
|
|
assert [action.text() for action in controller.panels_menu.actions()] == [
|
|
"Document Tree",
|
|
"Log",
|
|
]
|
|
assert [action.text() for action in controller.toolbars_menu.actions()] == [
|
|
"File",
|
|
"Undo",
|
|
]
|
|
assert all(
|
|
action.isCheckable()
|
|
for action in (
|
|
controller.panels_menu.actions()
|
|
+ controller.toolbars_menu.actions()
|
|
)
|
|
)
|