summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Cron/SocialUpdate.php2
-rw-r--r--lib/Service/SocialApiService.php4
-rw-r--r--tests/unit/Service/SocialApiServiceTest.php20
3 files changed, 18 insertions, 8 deletions
diff --git a/lib/Cron/SocialUpdate.php b/lib/Cron/SocialUpdate.php
index fcb41a5c..9f8ee9ba 100644
--- a/lib/Cron/SocialUpdate.php
+++ b/lib/Cron/SocialUpdate.php
@@ -46,7 +46,7 @@ class SocialUpdate extends \OC\BackgroundJob\QueuedJob {
$offsetContact = $arguments['offsetContact'] ?? null;
// update contacts with first available social media profile
- $result = $this->social->updateAddressbooks('any', $userId, $offsetBook, $offsetContact);
+ $result = $this->social->updateAddressbooks($userId, $offsetBook, $offsetContact);
if ($result->getStatus() === Http::STATUS_PARTIAL_CONTENT) {
// not finished; schedule a follow-up
diff --git a/lib/Service/SocialApiService.php b/lib/Service/SocialApiService.php
index 5184d72c..129068c5 100644
--- a/lib/Service/SocialApiService.php
+++ b/lib/Service/SocialApiService.php
@@ -342,12 +342,12 @@ class SocialApiService {
/**
* Updates social profile data for all contacts of an addressbook
*
- * @param {String} network the social network to use (fallback: take first match)
+ * @param {String|null} network the social network to use (take first match if unset)
* @param {String} userId the address book owner
*
* @returns {JSONResponse} JSONResponse with the list of changed and failed contacts
*/
- public function updateAddressbooks(string $network, string $userId, string $offsetBook = null, string $offsetContact = null) : JSONResponse {
+ public function updateAddressbooks(string $userId, string $offsetBook = null, string $offsetContact = null, string $network = null) : JSONResponse {
// double check!
$syncAllowedByAdmin = $this->config->getAppValue($this->appName, 'allowSocialSync', 'yes');
diff --git a/tests/unit/Service/SocialApiServiceTest.php b/tests/unit/Service/SocialApiServiceTest.php
index 9c2ab925..675f81f6 100644
--- a/tests/unit/Service/SocialApiServiceTest.php
+++ b/tests/unit/Service/SocialApiServiceTest.php
@@ -237,7 +237,7 @@ class SocialApiServiceTest extends TestCase {
'VERSION' => $contact['VERSION'],
'PHOTO;ENCODING=b;TYPE=' . $imageType . ';VALUE=BINARY' => base64_encode($body)
];
-
+
$this->socialProvider
->expects($this->once())->method("getSocialConnector")->with($network);
$provider->expects($this->once())->method("supportsContact")->with($contact);
@@ -306,7 +306,7 @@ class SocialApiServiceTest extends TestCase {
'VERSION' => $contact['VERSION'],
'PHOTO' => "data:".$imageType.";base64," . base64_encode($body)
];
-
+
$this->socialProvider
->expects($this->once())->method("getSocialConnector")->with($network);
$provider->expects($this->once())->method("supportsContact")->with($contact);
@@ -442,7 +442,17 @@ class SocialApiServiceTest extends TestCase {
$this->setupAddressbooks();
- $result = $this->service->updateAddressbooks('any', 'mrstest');
+ if ($syncAllowedByAdmin === 'yes' && $bgSyncEnabledByUser === 'yes') {
+ $this->socialProvider
+ ->expects($this->atLeastOnce())
+ ->method('getSocialConnectors');
+ }
+
+ $this->socialProvider
+ ->expects($this->never())
+ ->method('getSocialConnector');
+
+ $result = $this->service->updateAddressbooks('mrstest');
$this->assertEquals($expected, $result->getStatus());
@@ -474,7 +484,7 @@ class SocialApiServiceTest extends TestCase {
$this->setupAddressbooks();
- $result = $this->service->updateAddressbooks('any', 'msstest');
+ $result = $this->service->updateAddressbooks('msstest');
$this->assertEquals(Http::STATUS_PARTIAL_CONTENT, $result->getStatus());
@@ -502,7 +512,7 @@ class SocialApiServiceTest extends TestCase {
$this->setupAddressbooks();
- $result = $this->service->updateAddressbooks('any', 'mrstest', 'contacts2', '22222222-2222-2222-2222-222222222222');
+ $result = $this->service->updateAddressbooks('mrstest', 'contacts2', '22222222-2222-2222-2222-222222222222');
$this->assertEquals($expected, $result->getStatus());