From efcbc651a3d835360259d8846ae371d75f5bb124 Mon Sep 17 00:00:00 2001 From: Dmitri Bogomolov <4glitch@gmail.com> Date: Tue, 20 Nov 2018 18:46:07 +0200 Subject: [PATCH] Started writing tests --- src/bitmessagemain.py | 2 +- src/bitmessageqt/tests/__init__.py | 3 ++ src/bitmessageqt/tests/main.py | 44 ++++++++++++++++++++++++++++++ src/tests/core.py | 9 +++++- 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 src/bitmessageqt/tests/__init__.py create mode 100644 src/bitmessageqt/tests/main.py diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py index b3775b60..1cb26d02 100755 --- a/src/bitmessagemain.py +++ b/src/bitmessagemain.py @@ -373,9 +373,9 @@ class Main: time.time() - state.last_api_response >= 30): self.stop() elif not state.enableGUI: + state.enableGUI = True from tests import core as test_core # pylint: disable=relative-import test_core_result = test_core.run() - state.enableGUI = True self.stop() test_core.cleanup() sys.exit( diff --git a/src/bitmessageqt/tests/__init__.py b/src/bitmessageqt/tests/__init__.py new file mode 100644 index 00000000..cf68b723 --- /dev/null +++ b/src/bitmessageqt/tests/__init__.py @@ -0,0 +1,3 @@ +from main import TestMain + +__all__ = ["TestMain"] diff --git a/src/bitmessageqt/tests/main.py b/src/bitmessageqt/tests/main.py new file mode 100644 index 00000000..c05d1035 --- /dev/null +++ b/src/bitmessageqt/tests/main.py @@ -0,0 +1,44 @@ +""" +A tests for MainWindow +""" + +import unittest + +from PyQt4 import QtCore, QtGui, QtTest + +import bitmessageqt +from tr import _translate + +app = QtGui.QApplication([]) + + +class TestMain(unittest.TestCase): + """A test case for MainWindow""" + + def setUp(self): + self.window = bitmessageqt.MainWindow() + + def test_defaults(self): + tab_widget = self.window.tabWidget + self.assertEqual(tab_widget.count(), 6) + self.assertEqual(tab_widget.currentIndex(), 0) + self.assertEqual( + tab_widget.tabText(0), _translate("MainWindow", "Messages")) + self.assertEqual( + tab_widget.tabText(1), _translate("MainWindow", "Send")) + self.assertEqual( + tab_widget.tabText(2), _translate("MainWindow", "Subscriptions")) + self.assertEqual( + tab_widget.tabText(3), _translate("MainWindow", "Chans")) + self.assertEqual( + tab_widget.tabText(5), + _translate("MainWindow", "Network Status")) + + menu_actions = self.window.menubar.actions() + self.assertEqual(len(menu_actions), 3) + self.assertEqual( + menu_actions[0].text(), _translate("MainWindow", "File")) + self.assertEqual( + menu_actions[1].text(), _translate("MainWindow", "Settings")) + self.assertEqual( + menu_actions[2].text(), _translate("MainWindow", "Help")) diff --git a/src/tests/core.py b/src/tests/core.py index 5706f04b..45aaf3c9 100644 --- a/src/tests/core.py +++ b/src/tests/core.py @@ -112,7 +112,14 @@ class TestCore(unittest.TestCase): def run(): """Starts all tests defined in this module""" - loader = unittest.TestLoader() + loader = unittest.defaultTestLoader loader.sortTestMethodsUsing = None suite = loader.loadTestsFromTestCase(TestCore) + try: + import bitmessageqt.tests + except ImportError: + pass + else: + qt_tests = loader.loadTestsFromModule(bitmessageqt.tests) + suite.addTests(qt_tests) return unittest.TextTestRunner(verbosity=2).run(suite)