Skip to content

Commit a5bccbf

Browse files
authored
Merge pull request #4481 from nextcloud/backport/4394/stable6.0
[stable6.0] fix: Instantiation of ContactsManager
2 parents 54dd2e2 + a9a9a46 commit a5bccbf

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

lib/Service/SocialApiService.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
use OCA\DAV\CardDAV\CardDavBackend;
3333
use OCA\DAV\CardDAV\ContactsManager;
34-
34+
use OCA\DAV\Db\PropertyMapper;
3535
use OCP\AppFramework\Http;
3636
use OCP\AppFramework\Http\JSONResponse;
3737
use OCP\AppFramework\Utility\ITimeFactory;
@@ -62,6 +62,8 @@ class SocialApiService {
6262
private $timeFactory;
6363
/** @var ImageResizer */
6464
private $imageResizer;
65+
/** @var PropertyMapper */
66+
private $propertyMapper;
6567

6668
public function __construct(
6769
CompositeSocialProvider $socialProvider,
@@ -72,7 +74,8 @@ public function __construct(
7274
IURLGenerator $urlGen,
7375
CardDavBackend $davBackend,
7476
ITimeFactory $timeFactory,
75-
ImageResizer $imageResizer) {
77+
ImageResizer $imageResizer,
78+
PropertyMapper $propertyMapper) {
7679
$this->appName = Application::APP_ID;
7780
$this->socialProvider = $socialProvider;
7881
$this->manager = $manager;
@@ -83,6 +86,7 @@ public function __construct(
8386
$this->davBackend = $davBackend;
8487
$this->timeFactory = $timeFactory;
8588
$this->imageResizer = $imageResizer;
89+
$this->propertyMapper = $propertyMapper;
8690
}
8791

8892

@@ -158,7 +162,7 @@ protected function getAddressBook(string $addressbookId, IManager $manager = nul
158162
* @param {IManager} the contact manager to load
159163
*/
160164
protected function registerAddressbooks($userId, IManager $manager) {
161-
$coma = new ContactsManager($this->davBackend, $this->l10n);
165+
$coma = new ContactsManager($this->davBackend, $this->l10n, $this->propertyMapper);
162166
$coma->setupContactsProvider($manager, $userId, $this->urlGen);
163167
$this->manager = $manager;
164168
}
@@ -270,7 +274,7 @@ public function updateContact(string $addressbookId, string $contactId, ?string
270274
*/
271275
public function existsAddressBook(string $searchBookId, string $userId): bool {
272276
$manager = $this->manager;
273-
$coma = new ContactsManager($this->davBackend, $this->l10n);
277+
$coma = new ContactsManager($this->davBackend, $this->l10n, $this->propertyMapper);
274278
$coma->setupContactsProvider($manager, $userId, $this->urlGen);
275279
$addressBooks = $manager->getUserAddressBooks();
276280
return $this->getAddressBook($searchBookId, $manager) !== null;
@@ -288,7 +292,7 @@ public function existsAddressBook(string $searchBookId, string $userId): bool {
288292
public function existsContact(string $searchContactId, string $searchBookId, string $userId): bool {
289293
// load address books for the user
290294
$manager = $this->manager;
291-
$coma = new ContactsManager($this->davBackend, $this->l10n);
295+
$coma = new ContactsManager($this->davBackend, $this->l10n, $this->propertyMapper);
292296
$coma->setupContactsProvider($manager, $userId, $this->urlGen);
293297
$addressBook = $this->getAddressBook($searchBookId, $manager);
294298
if ($addressBook == null) {

tests/unit/Service/SocialApiServiceTest.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,28 +42,31 @@
4242

4343
use PHPUnit\Framework\MockObject\MockObject;
4444
use ChristophWurst\Nextcloud\Testing\TestCase;
45+
use OCA\DAV\Db\PropertyMapper;
4546

4647
class SocialApiServiceTest extends TestCase {
4748
private SocialApiService $service;
4849

49-
/** @var CompositeSocialProvider|MockObject */
50+
/** @var CompositeSocialProvider&MockObject */
5051
private $socialProvider;
51-
/** @var IManager|MockObject */
52+
/** @var IManager&MockObject */
5253
private $manager;
53-
/** @var IConfig|MockObject */
54+
/** @var IConfig&MockObject */
5455
private $config;
55-
/** @var IClientService|MockObject */
56+
/** @var IClientService&MockObject */
5657
private $clientService;
57-
/** @var IL10N|MockObject */
58+
/** @var IL10N&MockObject */
5859
private $l10n;
59-
/** @var IURLGenerator|MockObject */
60+
/** @var IURLGenerator&MockObject */
6061
private $urlGen;
61-
/** @var CardDavBackend|MockObject */
62+
/** @var CardDavBackend&MockObject */
6263
private $davBackend;
63-
/** @var ITimeFactory|MockObject */
64+
/** @var ITimeFactory&MockObject */
6465
private $timeFactory;
65-
/** @var ImageResizer|MockObject */
66+
/** @var ImageResizer&MockObject */
6667
private $imageResizer;
68+
/** @var PropertyMapper&MockObject */
69+
private $propertyMapper;
6770

6871
public function allSocialProfileProviders(): array {
6972
$body = "the body";
@@ -130,6 +133,7 @@ protected function setUp(): void {
130133
$this->davBackend = $this->createMock(CardDavBackend::class);
131134
$this->timeFactory = $this->createMock(ITimeFactory::class);
132135
$this->imageResizer = $this->createMock(ImageResizer::class);
136+
$this->propertyMapper = $this->createMock(PropertyMapper::class);
133137
$this->service = new SocialApiService(
134138
$this->socialProvider,
135139
$this->manager,
@@ -139,7 +143,8 @@ protected function setUp(): void {
139143
$this->urlGen,
140144
$this->davBackend,
141145
$this->timeFactory,
142-
$this->imageResizer
146+
$this->imageResizer,
147+
$this->propertyMapper,
143148
);
144149
}
145150

0 commit comments

Comments
 (0)