public function testRegister() { $activityManager = new ActivityManager($this->getMock('OCP\\IRequest'), $this->getMock('OCP\\IUserSession'), $this->getMock('OCP\\IConfig')); $consumer = new Consumer($this->data, $this->userSettings); $container = $this->getMock('\\OCP\\AppFramework\\IAppContainer'); $container->expects($this->any())->method('query')->with($this->stringContains('Consumer'))->will($this->returnValueMap(array(array('Consumer', $consumer)))); Consumer::register($activityManager, $container); $consumers = $this->invokePrivate($activityManager, 'getConsumers'); $this->assertCount(1, $consumers); $this->assertInstanceOf('OCA\\Activity\\Consumer', $consumers[0]); }
* @copyright 2013 Frank Karlitschek frank@owncloud.org * * 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/>. * */ namespace OCA\Activity\AppInfo; $app = new Application(); $c = $app->getContainer(); // add an navigation entry $navigationEntry = function () use($c) { return ['id' => $c->getAppName(), 'order' => 1, 'name' => $c->query('ActivityL10N')->t('Activity'), 'href' => $c->getServer()->getURLGenerator()->linkToRoute('activity.Activities.showList'), 'icon' => $c->getServer()->getURLGenerator()->imagePath('activity', 'activity.svg')]; }; $c->getServer()->getNavigationManager()->add($navigationEntry); // register the hooks for filesystem operations. All other events from other apps has to be send via the public api \OCA\Activity\FilesHooksStatic::register(); \OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\\Activity\\Hooks', 'deleteUser'); \OCA\Activity\Consumer::register($c->getServer()->getActivityManager(), $c); // Personal settings for notifications and emails \OCP\App::registerPersonal($c->getAppName(), 'personal');
/** * @dataProvider receiveData * * @param string $type * @param string $author * @param string $affectedUser * @param string $subject * @param array|false $expected */ public function testRegister($type, $author, $affectedUser, $subject, $expected) { $activityManager = new ActivityManager($this->getMock('OCP\\IRequest'), $this->getMock('OCP\\IUserSession'), $this->getMock('OCP\\IConfig')); $consumer = new Consumer($this->userSettings, $author); $container = $this->getMock('\\OCP\\AppFramework\\IAppContainer'); $container->expects($this->any())->method('query')->with($this->stringContains('Consumer'))->will($this->returnValueMap(array(array('Consumer', $consumer)))); Consumer::register($activityManager, $container); $activityManager->publishActivity('test', $subject, ['subjectParam1', 'subjectParam2'], 'message', ['messageParam1', 'messageParam2'], 'file', 'link', $affectedUser, $type, \OCP\Activity\IExtension::PRIORITY_HIGH); $query = DB::prepare("SELECT `affecteduser` FROM `*PREFIX*activity` WHERE `app` = 'test'"); $result = $query->execute(); $this->assertEquals($expected, $result->fetchOne(0)); $this->assertEquals(false, $result->fetchRow()); }