diff --git a/tests/functional/test_certification_dialog.py b/tests/functional/test_certification_dialog.py index 645ded5acacece2d70ecb17c28f849226f7e55a9..a10c086baf097548e8d0c019265d098907da866e 100644 --- a/tests/functional/test_certification_dialog.py +++ b/tests/functional/test_certification_dialog.py @@ -3,9 +3,9 @@ import pytest from duniterpy.documents import Certification from PyQt5.QtCore import QLocale, Qt, QEvent from PyQt5.QtTest import QTest -from PyQt5.QtWidgets import QDialogButtonBox +from PyQt5.QtWidgets import QDialogButtonBox, QMessageBox from sakia.gui.sub.certification.controller import CertificationController -from ..helpers import click_on_top_message_box +from ..helpers import click_on_top_message_box_button @pytest.mark.asyncio @@ -43,7 +43,7 @@ async def test_certification_init_community(application_with_one_connection, fak assert certification_dialog.view.button_box.button(QDialogButtonBox.Ok).isEnabled() QTest.mouseClick(certification_dialog.view.button_box.button(QDialogButtonBox.Ok), Qt.LeftButton) await asyncio.sleep(0.1) - click_on_top_message_box() + click_on_top_message_box_button(QMessageBox.Yes) await asyncio.sleep(0.2) assert isinstance(fake_server_with_blockchain.forge.pool[0], Certification) diff --git a/tests/functional/test_connection_cfg_dialog.py b/tests/functional/test_connection_cfg_dialog.py index 8d0f91980acb25339b6c948127d50e679b894807..10599d381748e8ab0e917f35ee5f2239976424bb 100644 --- a/tests/functional/test_connection_cfg_dialog.py +++ b/tests/functional/test_connection_cfg_dialog.py @@ -5,7 +5,7 @@ from PyQt5.QtCore import Qt from PyQt5.QtTest import QTest from sakia.data.processors import ConnectionsProcessor, BlockchainProcessor from sakia.gui.dialogs.connection_cfg import ConnectionConfigController -from ..helpers import click_on_top_message_box, select_file_dialog +from ..helpers import select_file_dialog, accept_dialog def assert_key_parameters_behaviour(connection_config_dialog, user): @@ -59,12 +59,11 @@ async def test_register_empty_blockchain(application, fake_server, bob, tmpdir): await asyncio.sleep(1) select_file_dialog(str(revocation_file)) await asyncio.sleep(1) - click_on_top_message_box() await asyncio.sleep(1) revocation_file.ensure() assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_services assert len(ConnectionsProcessor.instanciate(application).connections()) == 1 - click_on_top_message_box() + accept_dialog("Registration") application.loop.call_later(10, close_dialog) asyncio.ensure_future(exec_test()) @@ -90,12 +89,10 @@ async def test_connect(application, fake_server_with_blockchain, bob): assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_connection assert_key_parameters_behaviour(connection_config_dialog, bob) QTest.mouseClick(connection_config_dialog.view.button_next, Qt.LeftButton) - await asyncio.sleep(1) + await asyncio.sleep(0.1) assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_services assert len(ConnectionsProcessor.instanciate(application).connections()) == 1 - click_on_top_message_box() - application.loop.call_later(10, close_dialog) asyncio.ensure_future(exec_test()) await connection_config_dialog.async_exec() diff --git a/tests/helpers.py b/tests/helpers.py index 6e340a192f67ba608fcb3ce94536c62f7501e72d..aaeb4cdcbb0d8d5d3931295d294ecb35130ac062 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -3,13 +3,18 @@ from PyQt5.QtCore import Qt from PyQt5.QtTest import QTest -def click_on_top_message_box(): + +def click_on_top_message_box_button(button): topWidgets = QApplication.topLevelWidgets() for w in topWidgets: if isinstance(w, QMessageBox): - QTest.keyClick(w, Qt.Key_Enter) - elif isinstance(w, QDialog) and w.windowTitle() == "Registration": - QTest.keyClick(w, Qt.Key_Enter) + QTest.mouseClick(w.button(button), Qt.LeftButton) + +def accept_dialog(title): + topWidgets = QApplication.topLevelWidgets() + for w in topWidgets: + if isinstance(w, QDialog) and w.windowTitle() == title: + w.accept() def select_file_dialog(filename): topWidgets = QApplication.topLevelWidgets()