first unit tests implemented
This commit is contained in:
parent
5b1dea56e5
commit
2d597c2238
|
@ -67,7 +67,7 @@ namespace OC {
|
||||||
/**
|
/**
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function isReadOnly();
|
public function getPermissions();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $id
|
* @param $id
|
||||||
|
@ -129,7 +129,7 @@ namespace OCP {
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
$address_book = self::$address_books[$address_book_key];
|
$address_book = self::$address_books[$address_book_key];
|
||||||
if ($address_book->isReadOnly())
|
if ($address_book->getPermissions() & \OCP\PERMISSION_DELETE)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return $address_book->delete($id);
|
return $address_book->delete($id);
|
||||||
|
@ -149,7 +149,7 @@ namespace OCP {
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
$address_book = self::$address_books[$address_book_key];
|
$address_book = self::$address_books[$address_book_key];
|
||||||
if ($address_book->isReadOnly())
|
if ($address_book->getPermissions() & \OCP\PERMISSION_CREATE)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return $address_book->createOrUpdate($properties);
|
return $address_book->createOrUpdate($properties);
|
||||||
|
@ -190,9 +190,16 @@ namespace OCP {
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* removes all registered address book instances
|
||||||
|
*/
|
||||||
|
public static function clear() {
|
||||||
|
self::$address_books = array();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \OC\IAddressBook[] which holds all registered address books
|
* @var \OC\IAddressBook[] which holds all registered address books
|
||||||
*/
|
*/
|
||||||
private static $address_books = array();
|
private static $address_books = array();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* ownCloud
|
||||||
|
*
|
||||||
|
* @author Thomas Müller
|
||||||
|
* @copyright 2012 Thomas Müller thomas.mueller@tmit.eu
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 3 of the License, or any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public
|
||||||
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
OC::autoload('OCP\Contacts');
|
||||||
|
|
||||||
|
class Test_Contacts extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
public function setUp() {
|
||||||
|
|
||||||
|
OCP\Contacts::clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDisabledIfEmpty() {
|
||||||
|
// pretty simple
|
||||||
|
$this->assertFalse(OCP\Contacts::isEnabled());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testEnabledAfterRegister() {
|
||||||
|
// create mock for the addressbook
|
||||||
|
$stub = $this->getMock("SimpleAddressBook", array('getKey'));
|
||||||
|
|
||||||
|
// we expect getKey to be called once
|
||||||
|
$stub->expects($this->once())
|
||||||
|
->method('getKey');
|
||||||
|
|
||||||
|
// not enabled before register
|
||||||
|
$this->assertFalse(OCP\Contacts::isEnabled());
|
||||||
|
|
||||||
|
// register the address book
|
||||||
|
OCP\Contacts::registerAddressBook($stub);
|
||||||
|
|
||||||
|
// contacts api shall be enabled
|
||||||
|
$this->assertTrue(OCP\Contacts::isEnabled());
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// TODO: test unregister
|
||||||
|
//
|
||||||
|
|
||||||
|
public function testAddressBookEnumeration() {
|
||||||
|
// create mock for the addressbook
|
||||||
|
$stub = $this->getMock("SimpleAddressBook", array('getKey', 'getDisplayName'));
|
||||||
|
|
||||||
|
// setup return for method calls
|
||||||
|
$stub->expects($this->any())
|
||||||
|
->method('getKey')
|
||||||
|
->will($this->returnValue('SIMPLE_ADDRESS_BOOK'));
|
||||||
|
$stub->expects($this->any())
|
||||||
|
->method('getDisplayName')
|
||||||
|
->will($this->returnValue('A very simple Addressbook'));
|
||||||
|
|
||||||
|
// register the address book
|
||||||
|
OCP\Contacts::registerAddressBook($stub);
|
||||||
|
$all_books = OCP\Contacts::getAddressBooks();
|
||||||
|
|
||||||
|
$this->assertEquals(1, count($all_books));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue