diff --git a/src/cutecoin/core/account.py b/src/cutecoin/core/account.py index ae4868ab641233e7b40ae999fc7d95322c6f00e3..5701145fb7040a5803720504b39e93094cad07bc 100644 --- a/src/cutecoin/core/account.py +++ b/src/cutecoin/core/account.py @@ -357,6 +357,8 @@ class Account(QObject): tries = 0 request = bma.wot.CertifiersOf nonlocal registered + #TODO: The algorithm is quite dirty + #Multiplying the tries without any reason... while tries < 3 and not registered[0] and not registered[2]: try: data = yield from community.bma_access.simple_request(request, diff --git a/src/cutecoin/gui/preferences.py b/src/cutecoin/gui/preferences.py index 0a9f6ff9de5b05a6750e808971868fc516a0fad9..efabc4f2bd862d4777ddbc4a07fd52b8c224b1ef 100644 --- a/src/cutecoin/gui/preferences.py +++ b/src/cutecoin/gui/preferences.py @@ -50,9 +50,9 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog): self.edit_proxy_address.setEnabled(self.checkbox_proxy.isChecked()) self.checkbox_proxy.stateChanged.connect(self.handle_proxy_change) - self.spinbox_proxy_port.setValue(self.app.preferences.get('proxy_port', 8080)) self.spinbox_proxy_port.setMinimum(0) self.spinbox_proxy_port.setMaximum(55636) + self.spinbox_proxy_port.setValue(self.app.preferences.get('proxy_port', 8080)) self.edit_proxy_address.setText(self.app.preferences.get('proxy_address', "")) def handle_proxy_change(self): diff --git a/src/cutecoin/tests/gui/preferences/__init__.py b/src/cutecoin/tests/gui/preferences/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/cutecoin/tests/gui/preferences/test_preferences_dialog.py b/src/cutecoin/tests/gui/preferences/test_preferences_dialog.py new file mode 100644 index 0000000000000000000000000000000000000000..768fd531a7f7721e0ef2adb8a2799b8dbfb717c5 --- /dev/null +++ b/src/cutecoin/tests/gui/preferences/test_preferences_dialog.py @@ -0,0 +1,71 @@ +import sys +import unittest +import asyncio +import quamash +import time +import logging +from ucoinpy.documents.peer import BMAEndpoint +from quamash import QApplication +from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QMessageBox +from PyQt5.QtCore import QLocale, Qt +from PyQt5.QtTest import QTest +from ucoinpy.api.bma import API +from cutecoin.tests.mocks.monkeypatch import pretender_reversed +from cutecoin.tests.mocks.bma import init_new_community +from cutecoin.core.registry.identities import IdentitiesRegistry +from cutecoin.gui.preferences import PreferencesDialog +from cutecoin.core.app import Application +from cutecoin.core import Account, Community, Wallet +from cutecoin.core.net import Network, Node +from cutecoin.core.net.api.bma.access import BmaAccess +from cutecoin.tests import get_application, unitttest_exception_handler +from ucoinpy.api import bma + + +class TestCertificationDialog(unittest.TestCase): + def setUp(self): + self.qapplication = get_application() + QLocale.setDefault(QLocale("en_GB")) + self.lp = quamash.QEventLoop(self.qapplication) + asyncio.set_event_loop(self.lp) + #self.lp.set_exception_handler(lambda lp, ctx : unitttest_exception_handler(self, lp, ctx)) + self.identities_registry = IdentitiesRegistry({}) + + def tearDown(self): + try: + self.lp.close() + finally: + asyncio.set_event_loop(None) + + def test_preferences_default(self): + self.application = Application(self.qapplication, self.lp, self.identities_registry) + preferences_dialog = PreferencesDialog(self.application) + self.assertEqual(preferences_dialog.combo_account.currentText(), + self.application.preferences['account']) + self.assertEqual(preferences_dialog.combo_language.currentText(), + self.application.preferences['lang']) + self.assertEqual(preferences_dialog.combo_referential.currentIndex(), + self.application.preferences['ref']) + self.assertEqual(preferences_dialog.checkbox_expertmode.isChecked(), + self.application.preferences['expert_mode']) + self.assertEqual(preferences_dialog.checkbox_maximize.isChecked(), + self.application.preferences['maximized']) + self.assertEqual(preferences_dialog.checkbox_notifications.isChecked(), + self.application.preferences['notifications']) + self.assertEqual(preferences_dialog.checkbox_proxy.isChecked(), + self.application.preferences['enable_proxy']) + self.assertEqual(preferences_dialog.edit_proxy_address.text(), + self.application.preferences['proxy_address']) + self.assertEqual(preferences_dialog.spinbox_proxy_port.value(), + self.application.preferences['proxy_port']) + self.assertEqual(preferences_dialog.checkbox_international_system.isChecked(), + self.application.preferences['international_system_of_units']) + self.assertEqual(preferences_dialog.checkbox_auto_refresh.isChecked(), + self.application.preferences['auto_refresh']) + self.lp.run_until_complete(asyncio.sleep(1)) + + +if __name__ == '__main__': + logging.basicConfig(stream=sys.stderr) + logging.getLogger().setLevel(logging.DEBUG) + unittest.main()