Skip to content
This repository has been archived by the owner on Nov 24, 2023. It is now read-only.

Commit

Permalink
Added tags for gui tests
Browse files Browse the repository at this point in the history
Co-authored-by: Ethan Strominger <ethanstrominger2@gmail.com>
Co-authored-by: Pramod Jangam<paddyjangam@yahoo.in>
Co-authored-by: Jagandeep Singh<nice.jagan@gmail.com>
Co-authored-by: Peak Wongcharoen <pattarika@gmail.com>
Co-authored-by: Koushik MS <koushik.ms@gmail.com>
Co-authored-by: Nicholas A. Del Grosso <delgrosso.nick@gmail.com>
Co-authored-by: Nada Ghanem<nada.saif7@gmail.com>
Co-authored-by: Harald Reingruber <harald.reingruber@gmx.at>
  • Loading branch information
5 people committed Jun 2, 2021
1 parent 9b9ba4d commit 88c01ba
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import pytest
from unittest.mock import Mock

from vispy.scene.events import SceneMouseEvent
Expand All @@ -6,15 +7,15 @@
from slicereg.gui.atlas_section_window import AtlasSectionViewModel, AtlasSectionView
from slicereg.utils.introspection import get_public_attrs


@pytest.mark.gui
def test_slice_view_updates_without_error_for_all_viewmodel_fields(qtbot):
for attr in get_public_attrs(AtlasSectionViewModel):
model = AtlasSectionViewModel(_model=Mock(AppModel))
view = AtlasSectionView(_model=model)
qtbot.addWidget(view.qt_widget)
setattr(model, attr, getattr(model, attr)) # set attribute with its own value


@pytest.mark.gui
def test_left_clicking_on_atlas_clice_view_triggers_left_mouse_click_on_viewmodel(qtbot):
model = AtlasSectionViewModel(_model=Mock(AppModel))
model.click_left_mouse_button = Mock()
Expand All @@ -24,7 +25,7 @@ def test_left_clicking_on_atlas_clice_view_triggers_left_mouse_click_on_viewmode
view.mouse_press(Mock(SceneMouseEvent, button=1, pos=(0, 0)))
assert model.click_left_mouse_button.call_count == 1


@pytest.mark.gui
def test_left_dragging_on_atlas_clice_view_triggers_left_mouse_drag_on_viewmodel(qtbot):
model = AtlasSectionViewModel(_model=Mock(AppModel))
model.drag_left_mouse = Mock()
Expand Down
5 changes: 3 additions & 2 deletions slicereg/gui/main_window/tests/test_main_view.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import pytest
from unittest.mock import Mock

from slicereg.gui.app_model import AppModel
from slicereg.gui.main_window import MainWindowView, MainWindowViewModel
from slicereg.utils.introspection import get_public_attrs


@pytest.mark.gui
def test_gui_launches_without_errors(qtbot):
view = MainWindowView(_model=MainWindowViewModel(_model=Mock(AppModel)))
qtbot.addWidget(view.qt_widget)


@pytest.mark.gui
def test_main_view_updates_without_error_for_all_viewmodel_fields(qtbot):
for attr in get_public_attrs(MainWindowViewModel):
model = MainWindowViewModel(_model=Mock(AppModel))
Expand Down
8 changes: 4 additions & 4 deletions slicereg/gui/sidebar/tests/test_sidebar_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,27 @@ def view_model():
def view(view_model):
return SidebarView(_model=view_model)


@pytest.mark.gui
def test_sidebar_view_launches_without_errors(qtbot, view):
qtbot.addWidget(view.qt_widget)


@pytest.mark.gui
def test_slice_view_updates_without_error_for_all_viewmodel_fields(qtbot):
for attr in get_public_attrs(SidebarViewModel):
model = SidebarViewModel(_model=Mock(AppModel))
view = SidebarView(_model=model)
qtbot.addWidget(view.qt_widget)
setattr(model, attr, getattr(model, attr)) # set attribute with its own value


@pytest.mark.gui
@pytest.mark.parametrize("filename", ["myfile.tiff", "", None])
def test_sidebar_show_image_dialog_doesnt_crash(qtbot, view, filename):
qtbot.addWidget(view.qt_widget)
with patch('slicereg.gui.sidebar.view.QFileDialog.getOpenFileName') as get_filename:
get_filename.return_value = filename, ".tiff"
view.show_load_image_dialog()


@pytest.mark.gui
@pytest.mark.parametrize("filename", ["myfile.tiff", "", None])
def test_sidebar_show_atlas_dialog_doesnt_crash(qtbot, view, view_model, filename):
qtbot.addWidget(view.qt_widget)
Expand Down
11 changes: 7 additions & 4 deletions slicereg/gui/slice_window/tests/test_slice_view.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import pytest
from unittest.mock import Mock

from vispy.scene.events import SceneMouseEvent
Expand All @@ -7,19 +8,20 @@
from slicereg.utils.introspection import get_public_attrs


@pytest.mark.gui
def test_slice_view_launches_without_errors(qtbot):
view = SliceView(_model=SliceViewModel(_model=Mock(AppModel)))
qtbot.addWidget(view.qt_widget)


@pytest.mark.gui
def test_slice_view_updates_without_error_for_all_viewmodel_fields(qtbot):
for attr in get_public_attrs(SliceViewModel):
model = SliceViewModel(_model=Mock(AppModel))
view = SliceView(_model=model)
qtbot.addWidget(view.qt_widget)
setattr(model, attr, getattr(model, attr)) # set attribute with its own value


@pytest.mark.gui
def test_slice_view_triggers_mouse_wheel_viewmodel_mouse_wheel(qtbot):
model = Mock(SliceViewModel)
view = SliceView(_model=model)
Expand All @@ -29,7 +31,7 @@ def test_slice_view_triggers_mouse_wheel_viewmodel_mouse_wheel(qtbot):
view.mouse_wheel(event)
model.on_mousewheel_move.assert_called_with(increment=5)


@pytest.mark.gui
def test_slice_view_triggers_left_mouse_drag_on_viewmodel(qtbot):
model = Mock(SliceViewModel)
view = SliceView(_model=model)
Expand All @@ -41,7 +43,7 @@ def test_slice_view_triggers_left_mouse_drag_on_viewmodel(qtbot):
model.on_left_mouse_drag.assert_called_with(x1=1, y1=2, x2=5, y2=10)
model.on_right_mouse_drag.assert_not_called()


@pytest.mark.gui
def test_slice_view_triggers_right_mouse_drag_on_viewmodel(qtbot):
model = Mock(SliceViewModel)
view = SliceView(_model=model)
Expand All @@ -54,6 +56,7 @@ def test_slice_view_triggers_right_mouse_drag_on_viewmodel(qtbot):
model.on_right_mouse_drag.assert_called_with(x1=1, y1=2, x2=5, y2=10)


@pytest.mark.gui
def test_slice_view_acknowledges_mouse_press(qtbot):
model = Mock(SliceViewModel)
view = SliceView(_model=model)
Expand Down
4 changes: 3 additions & 1 deletion slicereg/gui/volume_window/tests/test_volume_view.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
import pytest
from unittest.mock import Mock

from slicereg.gui.app_model import AppModel
from slicereg.gui.volume_window import VolumeViewModel, VolumeView
from slicereg.utils.introspection import get_public_attrs


@pytest.mark.gui
def test_volume_view_launches_without_errors(qtbot):
view = VolumeView(VolumeViewModel(_model=Mock(AppModel)))
qtbot.addWidget(view.qt_widget)


@pytest.mark.gui
def test_slice_view_updates_without_error_for_all_viewmodel_fields(qtbot):
for attr in get_public_attrs(VolumeViewModel):
model = VolumeViewModel(_model=Mock(AppModel))
Expand Down
3 changes: 2 additions & 1 deletion slicereg/test_main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from slicereg.main import launch_gui


@pytest.mark.gui
def test_main_assembles_without_errors(qtbot):
window = launch_gui(create_qapp=False)
qtbot.addWidget(window.qt_widget)

0 comments on commit 88c01ba

Please sign in to comment.