summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Mueller <thomas.mueller@tmit.eu>2012-11-24 00:01:58 +0100
committerThomas Mueller <thomas.mueller@tmit.eu>2012-11-28 23:10:00 +0100
commit2d597c2238c40ff0291fc80a4807aee6fc7bc4fc (patch)
tree7c804972b54f734091ba87d9189580327ef6ce55 /tests
parent5b1dea56e551df1306bd2046c3d06f1e589b4c03 (diff)
downloadnextcloud-server-2d597c2238c40ff0291fc80a4807aee6fc7bc4fc.tar.gz
nextcloud-server-2d597c2238c40ff0291fc80a4807aee6fc7bc4fc.zip
first unit tests implemented
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/public/contacts.php80
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/lib/public/contacts.php b/tests/lib/public/contacts.php
new file mode 100644
index 00000000000..abe0e1f6250
--- /dev/null
+++ b/tests/lib/public/contacts.php
@@ -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));
+ }
+}