69 lines
3.2 KiB
Python
69 lines
3.2 KiB
Python
import pytest
|
|
from unittest.mock import patch, MagicMock
|
|
from src.gui_2 import App
|
|
from src import gui_2
|
|
|
|
def test_render_context_composition_panel_fast(app_instance: App):
|
|
"""Verifies that the context composition panel rendering path executes without exceptions."""
|
|
with patch("src.gui_2.imgui") as mock_imgui, patch("src.gui_2.imscope") as mock_imscope:
|
|
mock_imgui.begin.return_value = (True, True)
|
|
mock_imgui.collapsing_header.return_value = True
|
|
mock_imgui.begin_child.return_value = True
|
|
mock_imgui.combo.return_value = (True, 0)
|
|
mock_imgui.checkbox.return_value = (True, True)
|
|
mock_imgui.input_text.return_value = (True, "")
|
|
mock_imgui.input_text_multiline.return_value = (True, "")
|
|
mock_imgui.input_int.return_value = (True, 0)
|
|
mock_imgui.button.return_value = False
|
|
mock_imgui.ListClipper.return_value.step.return_value = False
|
|
mock_imscope.tab_item.return_value.__enter__.return_value = (True, True)
|
|
|
|
try:
|
|
gui_2.render_context_composition_panel(app_instance)
|
|
except Exception as e:
|
|
pytest.fail(f"render_context_composition_panel raised an exception: {e}")
|
|
|
|
def test_render_discussion_panel_fast(app_instance: App):
|
|
"""Verifies that the discussion panel rendering path executes without exceptions."""
|
|
with patch("src.gui_2.imgui") as mock_imgui, patch("src.gui_2.imscope") as mock_imscope:
|
|
mock_imgui.begin.return_value = (True, True)
|
|
mock_imgui.collapsing_header.return_value = True
|
|
mock_imgui.begin_child.return_value = True
|
|
mock_imgui.combo.return_value = (True, 0)
|
|
mock_imgui.checkbox.return_value = (True, True)
|
|
mock_imgui.input_text.return_value = (True, "")
|
|
mock_imgui.input_text_multiline.return_value = (True, "")
|
|
mock_imgui.input_int.return_value = (True, 0)
|
|
mock_imgui.button.return_value = False
|
|
mock_imgui.ListClipper.return_value.step.return_value = False
|
|
mock_imscope.tab_item.return_value.__enter__.return_value = (True, True)
|
|
|
|
# Mocks for complex imgui logic in render_discussion_tab
|
|
mock_imgui.is_item_active.return_value = False
|
|
mock_imgui.begin_tab_bar.return_value = False
|
|
mock_imgui.begin_tab_item.return_value = (False, False)
|
|
|
|
try:
|
|
gui_2.render_discussion_hub(app_instance)
|
|
except Exception as e:
|
|
pytest.fail(f"render_discussion_hub raised an exception: {e}")
|
|
|
|
def test_render_files_and_media_fast(app_instance: App):
|
|
"""Verifies that the files and media panel rendering path executes without exceptions."""
|
|
with patch("src.gui_2.imgui") as mock_imgui, patch("src.gui_2.imscope") as mock_imscope:
|
|
mock_imgui.begin.return_value = (True, True)
|
|
mock_imgui.collapsing_header.return_value = True
|
|
mock_imgui.begin_child.return_value = True
|
|
mock_imgui.combo.return_value = (True, 0)
|
|
mock_imgui.checkbox.return_value = (True, True)
|
|
mock_imgui.input_text.return_value = (True, "")
|
|
mock_imgui.input_text_multiline.return_value = (True, "")
|
|
mock_imgui.input_int.return_value = (True, 0)
|
|
mock_imgui.button.return_value = False
|
|
mock_imgui.ListClipper.return_value.step.return_value = False
|
|
mock_imscope.tab_item.return_value.__enter__.return_value = (True, True)
|
|
|
|
try:
|
|
gui_2.render_files_and_media(app_instance)
|
|
except Exception as e:
|
|
pytest.fail(f"render_files_and_media raised an exception: {e}") |