]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix update notification tests 2982/head
authorJoas Schilling <coding@schilljs.com>
Mon, 9 Jan 2017 11:09:47 +0000 (12:09 +0100)
committerJoas Schilling <coding@schilljs.com>
Mon, 9 Jan 2017 11:09:47 +0000 (12:09 +0100)
Signed-off-by: Joas Schilling <coding@schilljs.com>
apps/updatenotification/lib/Notification/BackgroundJob.php
apps/updatenotification/tests/Notification/BackgroundJobTest.php
apps/updatenotification/tests/Notification/NotifierTest.php

index 2ee3d766ea2ec24f55d9f1d2c14d8bd9b16a605f..83a9bdb599ae1643301a54df5aa379838fd0770e 100644 (file)
@@ -30,8 +30,6 @@ use OCP\Http\Client\IClientService;
 use OCP\IConfig;
 use OCP\IGroup;
 use OCP\IGroupManager;
-use OCP\IURLGenerator;
-use OCP\IUser;
 use OCP\Notification\IManager;
 
 class BackgroundJob extends TimedJob {
@@ -51,9 +49,6 @@ class BackgroundJob extends TimedJob {
        /** @var IClientService */
        protected $client;
 
-       /** @var IURLGenerator */
-       protected $urlGenerator;
-
        /** @var string[] */
        protected $users;
 
@@ -65,9 +60,8 @@ class BackgroundJob extends TimedJob {
         * @param IGroupManager $groupManager
         * @param IAppManager $appManager
         * @param IClientService $client
-        * @param IURLGenerator $urlGenerator
         */
-       public function __construct(IConfig $config, IManager $notificationManager, IGroupManager $groupManager, IAppManager $appManager, IClientService $client, IURLGenerator $urlGenerator) {
+       public function __construct(IConfig $config, IManager $notificationManager, IGroupManager $groupManager, IAppManager $appManager, IClientService $client) {
                // Run once a day
                $this->setInterval(60 * 60 * 24);
 
@@ -76,7 +70,6 @@ class BackgroundJob extends TimedJob {
                $this->groupManager = $groupManager;
                $this->appManager = $appManager;
                $this->client = $client;
-               $this->urlGenerator = $urlGenerator;
        }
 
        protected function run($argument) {
index 911b1cc8e2f0e9d19c89978c41ec70e3a606ea45..57771ec0ae9037f7392e37c6ceae4a4ec705d63d 100644 (file)
@@ -45,18 +45,15 @@ class BackgroundJobTest extends TestCase {
        protected $appManager;
        /** @var IClientService|\PHPUnit_Framework_MockObject_MockObject */
        protected $client;
-       /** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */
-       protected $urlGenerator;
 
        public function setUp() {
                parent::setUp();
 
-               $this->config = $this->getMockBuilder('OCP\IConfig')->getMock();
-               $this->notificationManager = $this->getMockBuilder('OCP\Notification\IManager')->getMock();
-               $this->groupManager = $this->getMockBuilder('OCP\IGroupManager')->getMock();
-               $this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock();
-               $this->client = $this->getMockBuilder('OCP\Http\Client\IClientService')->getMock();
-               $this->urlGenerator = $this->getMockBuilder('OCP\IURLGenerator')->getMock();
+               $this->config = $this->createMock(\OCP\IConfig::class);
+               $this->notificationManager = $this->createMock(\OCP\Notification\IManager::class);
+               $this->groupManager = $this->createMock(\OCP\IGroupManager::class);
+               $this->appManager = $this->createMock(\OCP\App\IAppManager::class);
+               $this->client = $this->createMock(\OCP\Http\Client\IClientService::class);
        }
 
        /**
@@ -70,8 +67,7 @@ class BackgroundJobTest extends TestCase {
                                $this->notificationManager,
                                $this->groupManager,
                                $this->appManager,
-                               $this->client,
-                               $this->urlGenerator
+                               $this->client
                        );
                } {
                        return $this->getMockBuilder('OCA\UpdateNotification\Notification\BackgroundJob')
@@ -81,7 +77,6 @@ class BackgroundJobTest extends TestCase {
                                        $this->groupManager,
                                        $this->appManager,
                                        $this->client,
-                                       $this->urlGenerator,
                                ])
                                ->setMethods($methods)
                                ->getMock();
@@ -160,20 +155,12 @@ class BackgroundJobTest extends TestCase {
                }
 
                if ($notification === null) {
-                       $this->urlGenerator->expects($this->never())
-                               ->method('linkToRouteAbsolute');
-
                        $job->expects($this->never())
                                ->method('createNotifications');
                } else {
-                       $this->urlGenerator->expects($this->once())
-                               ->method('linkToRouteAbsolute')
-                               ->with('settings.AdminSettings.index')
-                               ->willReturn('admin-url');
-
                        $job->expects($this->once())
                                ->method('createNotifications')
-                               ->willReturn('core', $notification, 'admin-url#updater', $readableVersion);
+                               ->willReturn('core', $notification, $readableVersion);
                }
 
                $this->invokePrivate($job, 'checkCoreUpdate');
@@ -188,7 +175,7 @@ class BackgroundJobTest extends TestCase {
                                        ['app2', '1.9.2'],
                                ],
                                [
-                                       ['app2', '1.9.2', 'apps-url#app-app2'],
+                                       ['app2', '1.9.2'],
                                ],
                        ],
                ];
@@ -215,11 +202,6 @@ class BackgroundJobTest extends TestCase {
                        ->method('isUpdateAvailable')
                        ->willReturnMap($isUpdateAvailable);
 
-               $this->urlGenerator->expects($this->exactly(sizeof($notifications)))
-                       ->method('linkToRouteAbsolute')
-                       ->with('settings.AppSettings.viewApps')
-                       ->willReturn('apps-url');
-
                $mockedMethod = $job->expects($this->exactly(sizeof($notifications)))
                        ->method('createNotifications');
                call_user_func_array([$mockedMethod, 'withConsecutive'], $notifications);
@@ -229,9 +211,9 @@ class BackgroundJobTest extends TestCase {
 
        public function dataCreateNotifications() {
                return [
-                       ['app1', '1.0.0', 'link1', '1.0.0', false, false, null, null],
-                       ['app2', '1.0.1', 'link2', '1.0.0', '1.0.0', true, ['user1'], [['user1']]],
-                       ['app3', '1.0.1', 'link3', false, false, true, ['user2', 'user3'], [['user2'], ['user3']]],
+                       ['app1', '1.0.0', '1.0.0', false, false, null, null],
+                       ['app2', '1.0.1', '1.0.0', '1.0.0', true, ['user1'], [['user1']]],
+                       ['app3', '1.0.1', false, false, true, ['user2', 'user3'], [['user2'], ['user3']]],
                ];
        }
 
@@ -240,14 +222,13 @@ class BackgroundJobTest extends TestCase {
         *
         * @param string $app
         * @param string $version
-        * @param string $url
         * @param string|false $lastNotification
         * @param string|false $callDelete
         * @param bool $createNotification
         * @param string[]|null $users
         * @param array|null $userNotifications
         */
-       public function testCreateNotifications($app, $version, $url, $lastNotification, $callDelete, $createNotification, $users, $userNotifications) {
+       public function testCreateNotifications($app, $version, $lastNotification, $callDelete, $createNotification, $users, $userNotifications) {
                $job = $this->getJob([
                        'deleteOutdatedNotifications',
                        'getUsersToNotify',
@@ -299,10 +280,6 @@ class BackgroundJobTest extends TestCase {
                                ->method('setSubject')
                                ->with('update_available')
                                ->willReturnSelf();
-                       $notification->expects($this->once())
-                               ->method('setLink')
-                               ->with($url)
-                               ->willReturnSelf();
 
                        if ($userNotifications !== null) {
                                $mockedMethod = $notification->expects($this->exactly(sizeof($userNotifications)))
@@ -323,7 +300,7 @@ class BackgroundJobTest extends TestCase {
                                ->method('createNotification');
                }
 
-               $this->invokePrivate($job, 'createNotifications', [$app, $version, $url]);
+               $this->invokePrivate($job, 'createNotifications', [$app, $version]);
        }
 
        public function dataGetUsersToNotify() {
index 421fcada68944c999aebaef41f2341d6b2754498..e809ce11635697a5e216cde42ff1925f216a01a7 100644 (file)
@@ -24,7 +24,9 @@ namespace OCA\UpdateNotification\Tests\Notification;
 
 
 use OCA\UpdateNotification\Notification\Notifier;
+use OCP\IGroupManager;
 use OCP\IURLGenerator;
+use OCP\IUserSession;
 use OCP\L10N\IFactory;
 use OCP\Notification\IManager;
 use OCP\Notification\INotification;
@@ -38,6 +40,10 @@ class NotifierTest extends TestCase {
        protected $notificationManager;
        /** @var IFactory|\PHPUnit_Framework_MockObject_MockObject */
        protected $l10nFactory;
+       /** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */
+       protected $userSession;
+       /** @var IGroupManager|\PHPUnit_Framework_MockObject_MockObject */
+       protected $groupManager;
 
        public function setUp() {
                parent::setUp();
@@ -45,6 +51,8 @@ class NotifierTest extends TestCase {
                $this->urlGenerator = $this->createMock(IURLGenerator::class);
                $this->notificationManager = $this->createMock(IManager::class);
                $this->l10nFactory = $this->createMock(IFactory::class);
+               $this->userSession = $this->createMock(IUserSession::class);
+               $this->groupManager = $this->createMock(IGroupManager::class);
        }
 
        /**
@@ -56,7 +64,9 @@ class NotifierTest extends TestCase {
                        return new Notifier(
                                $this->urlGenerator,
                                $this->notificationManager,
-                               $this->l10nFactory
+                               $this->l10nFactory,
+                               $this->userSession,
+                               $this->groupManager
                        );
                } {
                        return $this->getMockBuilder(Notifier::class)
@@ -64,6 +74,8 @@ class NotifierTest extends TestCase {
                                        $this->urlGenerator,
                                        $this->notificationManager,
                                        $this->l10nFactory,
+                                       $this->userSession,
+                                       $this->groupManager,
                                ])
                                ->setMethods($methods)
                                ->getMock();