Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests/API
diff options
context:
space:
mode:
authorNino van Hooff <ninovanhooff@gmail.com>2020-06-26 17:09:33 +0300
committerNino van Hooff <ninovanhooff@gmail.com>2020-06-26 17:09:33 +0300
commit294afdb7ca762c0cd174f9a25e5c8be4c157d0ad (patch)
treed84c51cd5d3f0a7fa39639550efd7d766dc36c0c /tests/API
parent4f1a18f1024c5bfc4cdef46a856ec4fe42011c71 (diff)
Connect sync timer to sync() for consistency and add unit tests.
Also rename a function to camelCase CURA-7473
Diffstat (limited to 'tests/API')
-rw-r--r--tests/API/TestAccount.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/API/TestAccount.py b/tests/API/TestAccount.py
index 09091ba7e0..6780e50b81 100644
--- a/tests/API/TestAccount.py
+++ b/tests/API/TestAccount.py
@@ -3,6 +3,7 @@ from unittest.mock import MagicMock, patch
import pytest
from cura.API import Account
+from cura.API.Account import SyncState
from cura.OAuth2.Models import UserProfile
@@ -117,3 +118,55 @@ def test_userProfile(user_profile):
mocked_auth_service.getUserProfile = MagicMock(return_value=None)
assert account.userProfile is None
+
+
+def test_sync_success():
+ account = Account(MagicMock())
+
+ service1 = "test_service1"
+ service2 = "test_service2"
+
+ account.setSyncState(service1, SyncState.SYNCING)
+ assert account.syncState == SyncState.SYNCING
+
+ account.setSyncState(service2, SyncState.SYNCING)
+ assert account.syncState == SyncState.SYNCING
+
+ account.setSyncState(service1, SyncState.SUCCESS)
+ # service2 still syncing
+ assert account.syncState == SyncState.SYNCING
+
+ account.setSyncState(service2, SyncState.SUCCESS)
+ assert account.syncState == SyncState.SUCCESS
+
+
+def test_sync_update_action():
+ account = Account(MagicMock())
+
+ service1 = "test_service1"
+
+ mockUpdateCallback = MagicMock()
+
+ account.setSyncState(service1, SyncState.SYNCING)
+ assert account.syncState == SyncState.SYNCING
+
+ account.setUpdatePackagesAction(mockUpdateCallback)
+ account.onUpdatePackagesClicked()
+ mockUpdateCallback.assert_called_once_with()
+ account.setSyncState(service1, SyncState.SUCCESS)
+
+ account.sync() # starting a new sync resets the update action to None
+
+ account.setSyncState(service1, SyncState.SYNCING)
+ assert account.syncState == SyncState.SYNCING
+
+ account.onUpdatePackagesClicked() # Should not be connected to an action anymore
+ mockUpdateCallback.assert_called_once_with() # No additional calls
+ assert account.updatePackagesEnabled is False
+ account.setSyncState(service1, SyncState.SUCCESS)
+
+
+
+
+
+