aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/ContactsManagerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/ContactsManagerTest.php')
-rw-r--r--tests/lib/ContactsManagerTest.php99
1 files changed, 72 insertions, 27 deletions
diff --git a/tests/lib/ContactsManagerTest.php b/tests/lib/ContactsManagerTest.php
index 6a6cd5f421a..d2d46ce43b4 100644
--- a/tests/lib/ContactsManagerTest.php
+++ b/tests/lib/ContactsManagerTest.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -6,6 +7,8 @@
*/
namespace Test;
+use OC\ContactsManager;
+use OCP\Constants;
use OCP\IAddressBook;
class ContactsManagerTest extends \Test\TestCase {
@@ -14,10 +17,10 @@ class ContactsManagerTest extends \Test\TestCase {
protected function setUp(): void {
parent::setUp();
- $this->cm = new \OC\ContactsManager();
+ $this->cm = new ContactsManager();
}
- public function searchProvider() {
+ public static function searchProvider(): array {
$search1 = [
0 => [
'N' => [0 => '', 1 => 'Jan', 2 => 'Jansen', 3 => '', 4 => '',],
@@ -62,16 +65,18 @@ class ContactsManagerTest extends \Test\TestCase {
];
}
- /**
- * @dataProvider searchProvider
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('searchProvider')]
public function testSearch($search1, $search2, $expectedResult): void {
/** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook1 = $this->getMockBuilder('\OCP\IAddressBook')
+ $addressbook1 = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
$addressbook1->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(true);
+
+ $addressbook1->expects($this->once())
->method('search')
->willReturn($search1);
@@ -79,11 +84,15 @@ class ContactsManagerTest extends \Test\TestCase {
->method('getKey')
->willReturn('simple:1');
- $addressbook2 = $this->getMockBuilder('\OCP\IAddressBook')
+ $addressbook2 = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
$addressbook2->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(true);
+
+ $addressbook2->expects($this->once())
->method('search')
->willReturn($search2);
@@ -98,16 +107,52 @@ class ContactsManagerTest extends \Test\TestCase {
$this->assertEquals($expectedResult, $result);
}
+ #[\PHPUnit\Framework\Attributes\DataProvider('searchProvider')]
+ public function testSearchDisabledAb($search1): void {
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook1 = $this->getMockBuilder('\OCP\IAddressBookEnabled')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $addressbook1->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(true);
+
+ $addressbook1->expects($this->once())
+ ->method('search')
+ ->willReturn($search1);
+
+ $addressbook1->expects($this->any())
+ ->method('getKey')
+ ->willReturn('simple:1');
+
+ $addressbook2 = $this->getMockBuilder('\OCP\IAddressBookEnabled')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $addressbook2->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(false);
+
+ $addressbook2->expects($this->never())
+ ->method('search');
+
+ $this->cm->registerAddressBook($addressbook1);
+ $this->cm->registerAddressBook($addressbook2);
+ $result = $this->cm->search('');
+ $this->assertEquals($search1, $result);
+ }
+
public function testDeleteHavePermission(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
$addressbook->expects($this->any())
->method('getPermissions')
- ->willReturn(\OCP\Constants::PERMISSION_ALL);
+ ->willReturn(Constants::PERMISSION_ALL);
$addressbook->expects($this->once())
->method('delete')
@@ -123,14 +168,14 @@ class ContactsManagerTest extends \Test\TestCase {
}
public function testDeleteNoPermission(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
$addressbook->expects($this->any())
->method('getPermissions')
- ->willReturn(\OCP\Constants::PERMISSION_READ);
+ ->willReturn(Constants::PERMISSION_READ);
$addressbook->expects($this->never())
->method('delete');
@@ -145,8 +190,8 @@ class ContactsManagerTest extends \Test\TestCase {
}
public function testDeleteNoAddressbook(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
@@ -163,14 +208,14 @@ class ContactsManagerTest extends \Test\TestCase {
}
public function testCreateOrUpdateHavePermission(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
$addressbook->expects($this->any())
->method('getPermissions')
- ->willReturn(\OCP\Constants::PERMISSION_ALL);
+ ->willReturn(Constants::PERMISSION_ALL);
$addressbook->expects($this->once())
->method('createOrUpdate')
@@ -186,14 +231,14 @@ class ContactsManagerTest extends \Test\TestCase {
}
public function testCreateOrUpdateNoPermission(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
$addressbook->expects($this->any())
->method('getPermissions')
- ->willReturn(\OCP\Constants::PERMISSION_READ);
+ ->willReturn(Constants::PERMISSION_READ);
$addressbook->expects($this->never())
->method('createOrUpdate');
@@ -208,8 +253,8 @@ class ContactsManagerTest extends \Test\TestCase {
}
public function testCreateOrUpdateNOAdressbook(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
@@ -231,8 +276,8 @@ class ContactsManagerTest extends \Test\TestCase {
}
public function testIsEnabledIfSo(): void {
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();
@@ -247,8 +292,8 @@ class ContactsManagerTest extends \Test\TestCase {
public function testAddressBookEnumeration(): void {
// create mock for the addressbook
- /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBook $addressbook */
- $addressbook = $this->getMockBuilder('\OCP\IAddressBook')
+ /** @var \PHPUnit\Framework\MockObject\MockObject|IAddressBookEnabled $addressbook */
+ $addressbook = $this->getMockBuilder('\OCP\IAddressBookEnabled')
->disableOriginalConstructor()
->getMock();