diff --git a/.travis.yml b/.travis.yml index d81b3193e..edef98b40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,12 @@ sudo: required -dist: trusty +dist: cosmic language: php php: - 5.6 - 7 env: global: - - CORE_BRANCH=stable12 + - CORE_BRANCH=stable15 matrix: - DB=pgsql diff --git a/phpunit.xml b/phpunit.xml index 82c96d6c2..87a431af4 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,7 +1,16 @@ - - - ./tests/Unit - - + + + lib + + appinfo + templates + + + + + + ./tests/Unit + + diff --git a/tests/Unit/Controller/FavoritesControllerTest.php b/tests/Unit/Controller/FavoritesControllerTest.php new file mode 100644 index 000000000..ed3308629 --- /dev/null +++ b/tests/Unit/Controller/FavoritesControllerTest.php @@ -0,0 +1,151 @@ +getContainer(); + + // clear test users + $user = $c->getServer()->getUserManager()->get('test'); + if ($user !== null) { + $user->delete(); + } + $user = $c->getServer()->getUserManager()->get('test2'); + if ($user !== null) { + $user->delete(); + } + $user = $c->getServer()->getUserManager()->get('test3'); + if ($user !== null) { + $user->delete(); + } + + // CREATE DUMMY USERS + $u1 = $c->getServer()->getUserManager()->createUser('test', 'T0T0T0'); + $u1->setEMailAddress('toto@toto.net'); + $u2 = $c->getServer()->getUserManager()->createUser('test2', 'T0T0T0'); + $u3 = $c->getServer()->getUserManager()->createUser('test3', 'T0T0T0'); + $c->getServer()->getGroupManager()->createGroup('group1test'); + $c->getServer()->getGroupManager()->get('group1test')->addUser($u1); + $c->getServer()->getGroupManager()->createGroup('group2test'); + $c->getServer()->getGroupManager()->get('group2test')->addUser($u2); + } + + public function setUp() { + $this->appName = 'maps'; + $this->request = $this->getMockBuilder('\OCP\IRequest') + ->disableOriginalConstructor() + ->getMock(); + $this->contacts = $this->getMockBuilder('OCP\Contacts\IManager') + ->disableOriginalConstructor() + ->getMock(); + + $this->app = new Application(); + $this->container = $this->app->getContainer(); + $c = $this->container; + $this->config = $c->query('ServerContainer')->getConfig(); + + $this->favoritesController = new FavoritesController( + $this->appName, + $this->request, + 'test', + $c->query('ServerContainer')->getUserFolder('test'), + $c->query('ServerContainer')->getConfig(), + $c->getServer()->getShareManager(), + $c->getServer()->getAppManager(), + $c->getServer()->getUserManager(), + $c->getServer()->getGroupManager(), + $c->query('ServerContainer')->getL10N($c->query('AppName')), + $c->query('ServerContainer')->getLogger(), + new FavoritesService( + $c->query('ServerContainer')->getLogger(), + $c->query('ServerContainer')->getL10N($c->query('AppName')) + ) + ); + + $this->favoritesController2 = new FavoritesController( + $this->appName, + $this->request, + 'test2', + $c->query('ServerContainer')->getUserFolder('test2'), + $c->query('ServerContainer')->getConfig(), + $c->getServer()->getShareManager(), + $c->getServer()->getAppManager(), + $c->getServer()->getUserManager(), + $c->getServer()->getGroupManager(), + $c->query('ServerContainer')->getL10N($c->query('AppName')), + $c->query('ServerContainer')->getLogger(), + new FavoritesService( + $c->query('ServerContainer')->getLogger(), + $c->query('ServerContainer')->getL10N($c->query('AppName')) + ) + ); + + $this->utilsController = new UtilsController( + $this->appName, + $this->request, + 'test', + $c->query('ServerContainer')->getUserFolder('test'), + $c->query('ServerContainer')->getConfig(), + $c->getServer()->getAppManager() + ); + } + + public static function tearDownAfterClass() { + $app = new Application(); + $c = $app->getContainer(); + $user = $c->getServer()->getUserManager()->get('test'); + $user->delete(); + $user = $c->getServer()->getUserManager()->get('test2'); + $user->delete(); + $user = $c->getServer()->getUserManager()->get('test3'); + $user->delete(); + $c->getServer()->getGroupManager()->get('group1test')->delete(); + $c->getServer()->getGroupManager()->get('group2test')->delete(); + } + + public function tearDown() { + // in case there was a failure and something was not deleted + } + + public function testAddFavorites() { + // correct values + $resp = $this->favoritesController->addFavorite('one', 3.1, 4.2, '', null, null); + $status = $resp->getStatus(); + $this->assertEquals(200, $status); + $data = $resp->getData(); + $this->assertEquals('one', $data['name']); + + // invalid values + $resp = $this->favoritesController->addFavorite('', 3.1, 4.2, '', null, null); + $status = $resp->getStatus(); + $this->assertEquals(400, $status); + + $resp = $this->favoritesController->addFavorite('one', 'lat', 4.2, '', null, null); + $status = $resp->getStatus(); + $this->assertEquals(400, $status); + + $resp = $this->favoritesController->addFavorite('one', 3.1, 'lon', '', null, null); + $status = $resp->getStatus(); + $this->assertEquals(400, $status); + } + +} diff --git a/tests/Unit/Controller/PageControllerTest.php b/tests/Unit/Controller/PageControllerTest.php index cf37791c7..1b9ddb9c6 100644 --- a/tests/Unit/Controller/PageControllerTest.php +++ b/tests/Unit/Controller/PageControllerTest.php @@ -1,29 +1,27 @@ getMockBuilder('OCP\IRequest')->getMock(); + public function setUp() { + $request = $this->getMockBuilder('OCP\IRequest')->getMock(); - $this->controller = new PageController( - 'maps', $request, $this->userId - ); - } + $this->controller = new PageController( + 'maps', $request, $this->userId + ); + } - public function testIndex() { - $result = $this->controller->index(); + public function testIndex() { + $result = $this->controller->index(); - $this->assertEquals('index', $result->getTemplateName()); - $this->assertTrue($result instanceof TemplateResponse); - } + $this->assertEquals('index', $result->getTemplateName()); + $this->assertTrue($result instanceof TemplateResponse); + } } diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 90611c065..7fea1d00d 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,19 +1,26 @@ addValidRoot(OC::$SERVERROOT . '/tests'); - -// Fix for "Autoload path not allowed: .../maps/tests/testcase.php" -\OC_App::loadApp('maps'); - -if(!class_exists('PHPUnit_Framework_TestCase')) { - require_once('PHPUnit/Autoload.php'); +if (version_compare(implode('.', \OCP\Util::getVersion()), '8.2', '>=')) { + \OC::$loader->addValidRoot(OC::$SERVERROOT . '/tests'); + \OC_App::loadApp('maps'); } +//if(!class_exists('PHPUnit_Framework_TestCase')) { +// require_once('PHPUnit/Autoload.php'); +//} + OC_Hook::clear();