diff options
author | Bjoern Schiessle <bjoern@schiessle.org> | 2016-07-21 16:00:26 +0300 |
---|---|---|
committer | Bjoern Schiessle <bjoern@schiessle.org> | 2016-07-21 16:00:26 +0300 |
commit | 603b00199c0b5981a998cede7e7f0ae64071a3d4 (patch) | |
tree | bacd020337bc36408a912bec33c8dcf2c9d81321 /tests | |
parent | 30926c985687916395d47cff0390314e34ed6e99 (diff) |
initial commit of some boilerplate code
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bootstrap.php | 23 | ||||
-rw-r--r-- | tests/integration/AppTest.php | 46 | ||||
-rw-r--r-- | tests/unit/controller/PageControllerTest.php | 58 |
3 files changed, 127 insertions, 0 deletions
diff --git a/tests/bootstrap.php b/tests/bootstrap.php new file mode 100644 index 0000000..0e0a443 --- /dev/null +++ b/tests/bootstrap.php @@ -0,0 +1,23 @@ +<?php +/** + * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program 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 program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +require_once __DIR__ . '/../../../tests/bootstrap.php'; +require_once __DIR__ . '/../appinfo/autoload.php'; diff --git a/tests/integration/AppTest.php b/tests/integration/AppTest.php new file mode 100644 index 0000000..81268df --- /dev/null +++ b/tests/integration/AppTest.php @@ -0,0 +1,46 @@ +<?php +/** + * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program 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 program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +use OCP\AppFramework\App; +use Test\TestCase; + + +/** + * This test shows how to make a small Integration Test. Query your class + * directly from the container, only pass in mocks if needed and run your tests + * against the database + */ +class AppTest extends TestCase { + + private $container; + + public function setUp() { + parent::setUp(); + $app = new App('serverinfo'); + $this->container = $app->getContainer(); + } + + public function testAppInstalled() { + $appManager = $this->container->query('OCP\App\IAppManager'); + $this->assertTrue($appManager->isInstalled('serverinfo')); + } + +} diff --git a/tests/unit/controller/PageControllerTest.php b/tests/unit/controller/PageControllerTest.php new file mode 100644 index 0000000..bf39969 --- /dev/null +++ b/tests/unit/controller/PageControllerTest.php @@ -0,0 +1,58 @@ +<?php +/** + * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program 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 program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\ServerInfo\Controller; + +use PHPUnit_Framework_TestCase; + +use OCP\AppFramework\Http\TemplateResponse; + + +class PageControllerTest extends PHPUnit_Framework_TestCase { + + private $controller; + private $userId = 'john'; + + public function setUp() { + $request = $this->getMockBuilder('OCP\IRequest')->getMock(); + + $this->controller = new PageController( + 'serverinfo', $request, $this->userId + ); + } + + + public function testIndex() { + $result = $this->controller->index(); + + $this->assertEquals(['user' => 'john'], $result->getParams()); + $this->assertEquals('main', $result->getTemplateName()); + $this->assertTrue($result instanceof TemplateResponse); + } + + + public function testEcho() { + $result = $this->controller->doEcho('hi'); + $this->assertEquals(['echo' => 'hi'], $result->getData()); + } + + +} |