diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-01-18 10:51:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-18 10:51:14 +0100 |
commit | 9296116297fb6c46f1f26d745b5fe1f63f6caa2a (patch) | |
tree | c2ad611d619551ea414262cf4a3074483ad50a9a /apps/updatenotification/tests/Controller/AdminControllerTest.php | |
parent | b6eb50069bee994623a38dbda8cf5aa203ba8c9b (diff) | |
parent | 7deb76e405c4afd3986917c8387e83b8689a9954 (diff) | |
download | nextcloud-server-9296116297fb6c46f1f26d745b5fe1f63f6caa2a.tar.gz nextcloud-server-9296116297fb6c46f1f26d745b5fe1f63f6caa2a.zip |
Merge pull request #7863 from nextcloud/update-notifications-plusplus
Update notifications ++
Diffstat (limited to 'apps/updatenotification/tests/Controller/AdminControllerTest.php')
-rw-r--r-- | apps/updatenotification/tests/Controller/AdminControllerTest.php | 160 |
1 files changed, 16 insertions, 144 deletions
diff --git a/apps/updatenotification/tests/Controller/AdminControllerTest.php b/apps/updatenotification/tests/Controller/AdminControllerTest.php index 75588a1aec5..00d3974ed02 100644 --- a/apps/updatenotification/tests/Controller/AdminControllerTest.php +++ b/apps/updatenotification/tests/Controller/AdminControllerTest.php @@ -25,6 +25,7 @@ namespace OCA\UpdateNotification\Tests\Controller; use OCA\UpdateNotification\Controller\AdminController; +use OCA\UpdateNotification\ResetTokenBackgroundJob; use OCA\UpdateNotification\UpdateChecker; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\TemplateResponse; @@ -35,40 +36,34 @@ use OCP\IDateTimeFormatter; use OCP\IL10N; use OCP\IRequest; use OCP\Security\ISecureRandom; +use OCP\Util; use Test\TestCase; class AdminControllerTest extends TestCase { - /** @var IRequest */ + /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */ private $request; - /** @var IJobList */ + /** @var IJobList|\PHPUnit_Framework_MockObject_MockObject */ private $jobList; - /** @var ISecureRandom */ + /** @var ISecureRandom|\PHPUnit_Framework_MockObject_MockObject */ private $secureRandom; - /** @var IConfig */ + /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ private $config; /** @var AdminController */ private $adminController; - /** @var ITimeFactory */ + /** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject */ private $timeFactory; - /** @var IL10N */ + /** @var IL10N|\PHPUnit_Framework_MockObject_MockObject */ private $l10n; - /** @var UpdateChecker */ - private $updateChecker; - /** @var IDateTimeFormatter */ - private $dateTimeFormatter; public function setUp() { parent::setUp(); - $this->request = $this->getMockBuilder('\\OCP\\IRequest')->getMock(); - $this->jobList = $this->getMockBuilder('\\OCP\\BackgroundJob\\IJobList')->getMock(); - $this->secureRandom = $this->getMockBuilder('\\OCP\\Security\\ISecureRandom')->getMock(); - $this->config = $this->getMockBuilder('\\OCP\\IConfig')->getMock(); - $this->timeFactory = $this->getMockBuilder('\\OCP\\AppFramework\\Utility\\ITimeFactory')->getMock(); - $this->l10n = $this->getMockBuilder('\\OCP\\IL10N')->getMock(); - $this->updateChecker = $this->getMockBuilder('\\OCA\\UpdateNotification\\UpdateChecker') - ->disableOriginalConstructor()->getMock(); - $this->dateTimeFormatter = $this->getMockBuilder('\\OCP\\IDateTimeFormatter')->getMock(); + $this->request = $this->createMock(IRequest::class); + $this->jobList = $this->createMock(IJobList::class); + $this->secureRandom = $this->createMock(ISecureRandom::class); + $this->config = $this->createMock(IConfig::class); + $this->timeFactory = $this->createMock(ITimeFactory::class); + $this->l10n = $this->createMock(IL10N::class); $this->adminController = new AdminController( 'updatenotification', @@ -77,131 +72,15 @@ class AdminControllerTest extends TestCase { $this->secureRandom, $this->config, $this->timeFactory, - $this->l10n, - $this->updateChecker, - $this->dateTimeFormatter + $this->l10n ); } - public function testDisplayPanelWithUpdate() { - $channels = [ - 'daily', - 'beta', - 'stable', - 'production', - ]; - $currentChannel = \OCP\Util::getChannel(); - - // Remove the currently used channel from the channels list - if(($key = array_search($currentChannel, $channels)) !== false) { - unset($channels[$key]); - } - - $this->config - ->expects($this->exactly(2)) - ->method('getAppValue') - ->willReturnMap([ - ['core', 'lastupdatedat', '', '12345'], - ['updatenotification', 'notify_groups', '["admin"]', '["admin"]'], - ]); - $this->config - ->expects($this->once()) - ->method('getSystemValue') - ->with('updater.server.url', 'https://updates.nextcloud.com/server/') - ->willReturn('https://updates.nextcloud.com/server/'); - $this->dateTimeFormatter - ->expects($this->once()) - ->method('formatDateTime') - ->with('12345') - ->willReturn('LastCheckedReturnValue'); - $this->updateChecker - ->expects($this->once()) - ->method('getUpdateState') - ->willReturn([ - 'updateAvailable' => true, - 'updateVersion' => '8.1.2', - 'downloadLink' => 'https://downloads.nextcloud.org/server', - 'updaterEnabled' => true, - ]); - - $params = [ - 'isNewVersionAvailable' => true, - 'isUpdateChecked' => true, - 'lastChecked' => 'LastCheckedReturnValue', - 'currentChannel' => \OCP\Util::getChannel(), - 'channels' => $channels, - 'newVersionString' => '8.1.2', - 'downloadLink' => 'https://downloads.nextcloud.org/server', - 'updaterEnabled' => true, - 'isDefaultUpdateServerURL' => true, - 'updateServerURL' => 'https://updates.nextcloud.com/server/', - 'notify_groups' => 'admin', - ]; - - $expected = new TemplateResponse('updatenotification', 'admin', $params, ''); - $this->assertEquals($expected, $this->adminController->displayPanel()); - } - - public function testDisplayPanelWithoutUpdate() { - $channels = [ - 'daily', - 'beta', - 'stable', - 'production', - ]; - $currentChannel = \OCP\Util::getChannel(); - - // Remove the currently used channel from the channels list - if(($key = array_search($currentChannel, $channels)) !== false) { - unset($channels[$key]); - } - - $this->config - ->expects($this->exactly(2)) - ->method('getAppValue') - ->willReturnMap([ - ['core', 'lastupdatedat', '', '12345'], - ['updatenotification', 'notify_groups', '["admin"]', '["admin"]'], - ]); - $this->config - ->expects($this->once()) - ->method('getSystemValue') - ->with('updater.server.url', 'https://updates.nextcloud.com/server/') - ->willReturn('https://updates.nextcloud.com/server/'); - $this->dateTimeFormatter - ->expects($this->once()) - ->method('formatDateTime') - ->with('12345') - ->willReturn('LastCheckedReturnValue'); - $this->updateChecker - ->expects($this->once()) - ->method('getUpdateState') - ->willReturn([]); - - $params = [ - 'isNewVersionAvailable' => false, - 'isUpdateChecked' => true, - 'lastChecked' => 'LastCheckedReturnValue', - 'currentChannel' => \OCP\Util::getChannel(), - 'channels' => $channels, - 'newVersionString' => '', - 'downloadLink' => '', - 'updaterEnabled' => 0, - 'isDefaultUpdateServerURL' => true, - 'updateServerURL' => 'https://updates.nextcloud.com/server/', - 'notify_groups' => 'admin', - ]; - - $expected = new TemplateResponse('updatenotification', 'admin', $params, ''); - $this->assertEquals($expected, $this->adminController->displayPanel()); - } - - public function testCreateCredentials() { $this->jobList ->expects($this->once()) ->method('add') - ->with('OCA\UpdateNotification\ResetTokenBackgroundJob'); + ->with(ResetTokenBackgroundJob::class); $this->secureRandom ->expects($this->once()) ->method('generate') @@ -224,11 +103,4 @@ class AdminControllerTest extends TestCase { $this->assertEquals($expected, $this->adminController->createCredentials()); } - public function testGetSection() { - $this->assertSame('server', $this->adminController->getSection()); - } - - public function testGetPriority() { - $this->assertSame(1, $this->adminController->getPriority()); - } } |