Python qt: testing

From wikinotes

Signals

from Qt import QtWidgets
import myactions
import mymodel
import mock


if not QtWidgets.QApplication.instance():
    qapp = QtWidgets.QApplication()


class DummyListView(QtWidgets.QListView):
    pass


class Test_InstallUpdateAction:
    @mock.patch.object(myactions.MyAction, 'request_install')
    def test_install_without_requirements(self, mock_request_install):
        model = mymodel.Model()
        view = DummyListView()
        view.setModel(model)

        action = myactions.MyAction(view)
        action.trigger()

        mock_request_install.emit.assert_called_with('mysoftware')