mirror of
https://github.com/nextcloud/server.git
synced 2026-02-03 20:41:22 -05:00
To continue this formatting madness, here's a tiny patch that adds unified formatting for control structures like if and loops as well as classes, their methods and anonymous functions. This basically forces the constructs to start on the same line. This is not exactly what PSR2 wants, but I think we can have a few exceptions with "our" style. The starting of braces on the same line is pracrically standard for our code. This also removes and empty lines from method/function bodies at the beginning and end. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
240 lines
6.7 KiB
PHP
240 lines
6.7 KiB
PHP
<?php
|
|
|
|
namespace Test;
|
|
|
|
use OCP\IAddressBook;
|
|
|
|
class ContactsManagerTest extends \Test\TestCase {
|
|
|
|
/** @var \OC\ContactsManager */
|
|
private $cm;
|
|
|
|
protected function setUp(): void {
|
|
parent::setUp();
|
|
$this->cm = new \OC\ContactsManager();
|
|
}
|
|
|
|
public function searchProvider() {
|
|
$search1 = [
|
|
0 => [
|
|
'N' => [0 => '', 1 => 'Jan', 2 => 'Jansen', 3 => '', 4 => '',],
|
|
'UID' => '04ada7f5-01f9-4309-9c82-6b555b2170ed',
|
|
'FN' => 'Jan Jansen',
|
|
'id' => '1',
|
|
'addressbook-key' => 'simple:1',
|
|
],
|
|
0 => [
|
|
'N' => [0 => '', 1 => 'Tom', 2 => 'Peeters', 3 => '', 4 => '',],
|
|
'UID' => '04ada7f5-01f9-4309-9c82-2345-2345--6b555b2170ed',
|
|
'FN' => 'Tom Peeters',
|
|
'id' => '2',
|
|
'addressbook-key' => 'simple:1',
|
|
],
|
|
];
|
|
|
|
$search2 = [
|
|
0 => [
|
|
'N' => [0 => '', 1 => 'fg', 2 => '', 3 => '', 4 => '',],
|
|
'UID' => '04ada234h5jh357f5-01f9-4309-9c82-6b555b2170ed',
|
|
'FN' => 'Jan Rompuy',
|
|
'id' => '1',
|
|
'addressbook-key' => 'simple:2',
|
|
],
|
|
0 => [
|
|
'N' => [0 => '', 1 => 'fg', 2 => '', 3 => '', 4 => '',],
|
|
'UID' => '04ada7f5-01f9-4309-345kj345j9c82-2345-2345--6b555b2170ed',
|
|
'FN' => 'Tim Peeters',
|
|
'id' => '2',
|
|
'addressbook-key' => 'simple:2',
|
|
],
|
|
];
|
|
|
|
$expectedResult = array_merge($search1, $search2);
|
|
return [
|
|
[
|
|
$search1,
|
|
$search2,
|
|
$expectedResult
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider searchProvider
|
|
*/
|
|
public function testSearch($search1, $search2, $expectedResult) {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook1 = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook1->expects($this->once())
|
|
->method('search')
|
|
->willReturn($search1);
|
|
|
|
$addressbook1->expects($this->any())
|
|
->method('getKey')
|
|
->willReturn('simple:1');
|
|
|
|
$addressbook2 = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook2->expects($this->once())
|
|
->method('search')
|
|
->willReturn($search2);
|
|
|
|
$addressbook2->expects($this->any())
|
|
->method('getKey')
|
|
->willReturn('simple:2');
|
|
|
|
|
|
$this->cm->registerAddressBook($addressbook1);
|
|
$this->cm->registerAddressBook($addressbook2);
|
|
$result = $this->cm->search('');
|
|
$this->assertEquals($expectedResult, $result);
|
|
}
|
|
|
|
|
|
public function testDeleteHavePermission() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook->expects($this->any())
|
|
->method('getPermissions')
|
|
->willReturn(\OCP\Constants::PERMISSION_ALL);
|
|
|
|
$addressbook->expects($this->once())
|
|
->method('delete')
|
|
->willReturn('returnMe');
|
|
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->delete(1, $addressbook->getKey());
|
|
$this->assertEquals($result, 'returnMe');
|
|
}
|
|
|
|
public function testDeleteNoPermission() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook->expects($this->any())
|
|
->method('getPermissions')
|
|
->willReturn(\OCP\Constants::PERMISSION_READ);
|
|
|
|
$addressbook->expects($this->never())
|
|
->method('delete');
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->delete(1, $addressbook->getKey());
|
|
$this->assertEquals($result, null);
|
|
}
|
|
|
|
public function testDeleteNoAddressbook() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook->expects($this->never())
|
|
->method('delete');
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->delete(1, 'noaddressbook');
|
|
$this->assertEquals($result, null);
|
|
}
|
|
|
|
public function testCreateOrUpdateHavePermission() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook->expects($this->any())
|
|
->method('getPermissions')
|
|
->willReturn(\OCP\Constants::PERMISSION_ALL);
|
|
|
|
$addressbook->expects($this->once())
|
|
->method('createOrUpdate')
|
|
->willReturn('returnMe');
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->createOrUpdate([], $addressbook->getKey());
|
|
$this->assertEquals($result, 'returnMe');
|
|
}
|
|
|
|
public function testCreateOrUpdateNoPermission() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook->expects($this->any())
|
|
->method('getPermissions')
|
|
->willReturn(\OCP\Constants::PERMISSION_READ);
|
|
|
|
$addressbook->expects($this->never())
|
|
->method('createOrUpdate');
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->createOrUpdate([], $addressbook->getKey());
|
|
$this->assertEquals($result, null);
|
|
}
|
|
|
|
public function testCreateOrUpdateNOAdressbook() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$addressbook->expects($this->never())
|
|
->method('createOrUpdate');
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->createOrUpdate([], 'noaddressbook');
|
|
$this->assertEquals($result, null);
|
|
}
|
|
|
|
public function testIsEnabledIfNot() {
|
|
$result = $this->cm->isEnabled();
|
|
$this->assertFalse($result);
|
|
}
|
|
|
|
public function testIsEnabledIfSo() {
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$result = $this->cm->isEnabled();
|
|
$this->assertTrue($result);
|
|
}
|
|
|
|
public function testAddressBookEnumeration() {
|
|
// create mock for the addressbook
|
|
/** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */
|
|
$addressbook = $this->getMockBuilder('\OCP\IAddressBook')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
|
|
// setup return for method calls
|
|
$addressbook->expects($this->any())
|
|
->method('getKey')
|
|
->willReturn('SIMPLE_ADDRESS_BOOK');
|
|
$addressbook->expects($this->any())
|
|
->method('getDisplayName')
|
|
->willReturn('A very simple Addressbook');
|
|
|
|
// register the address book
|
|
$this->cm->registerAddressBook($addressbook);
|
|
$all_books = $this->cm->getAddressBooks();
|
|
|
|
$this->assertEquals(1, count($all_books));
|
|
$this->assertEquals('A very simple Addressbook', $all_books['SIMPLE_ADDRESS_BOOK']);
|
|
}
|
|
}
|