1
0
mirror of https://github.com/chylex/Nextcloud-News.git synced 2024-10-17 08:42:48 +02:00
Nextcloud-News/tests/Unit/Controller/UtilityApiControllerTest.php
Sean Molenaar 11f5904dd5 Fix mapper->find and empty user sessions
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
2020-12-17 10:35:23 +01:00

151 lines
3.8 KiB
PHP

<?php
/**
* Nextcloud - News
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
*
* @author Alessandro Cosentino <cosenal@gmail.com>
* @author Bernhard Posselt <dev@bernhard-posselt.com>
* @author David Guillot <david@guillot.me>
* @copyright 2012 Alessandro Cosentino
* @copyright 2012-2014 Bernhard Posselt
* @copyright 2018 David Guillot
*/
namespace OCA\News\Tests\Unit\Controller;
use OCA\News\Controller\UtilityApiController;
use OCA\News\Service\StatusService;
use OCA\News\Service\UpdaterService;
use OCP\IConfig;
use OCP\IRequest;
use OCP\IUser;
use OCP\IUserSession;
use PHPUnit\Framework\TestCase;
class UtilityApiControllerTest extends TestCase
{
/**
* @var \PHPUnit\Framework\MockObject\MockObject|IConfig
*/
private $settings;
/**
* @var \PHPUnit\Framework\MockObject\MockObject|IRequest
*/
private $request;
/**
* @var \PHPUnit\Framework\MockObject\MockObject|IUserSession
*/
private $userSession;
/**
* @var \PHPUnit\Framework\MockObject\MockObject|IUser
*/
private $user;
/**
* @var UtilityApiController
*/
private $newsAPI;
/**
* @var string
*/
private $appName;
/**
* @var \PHPUnit\Framework\MockObject\MockObject|StatusService
*/
private $status;
/**
* @var \PHPUnit\Framework\MockObject\MockObject|UpdaterService
*/
private $updateService;
protected function setUp(): void
{
$this->appName = 'news';
$this->settings = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock();
$this->request = $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock();
$this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
$this->user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$this->userSession->expects($this->any())
->method('getUser')
->will($this->returnValue($this->user));
$this->status = $this->getMockBuilder(StatusService::class)
->disableOriginalConstructor()
->getMock();
$this->updateService = $this->getMockBuilder(UpdaterService::class)
->disableOriginalConstructor()
->getMock();
$this->newsAPI = new UtilityApiController(
$this->request,
$this->userSession,
$this->updateService,
$this->settings,
$this->status
);
}
public function testGetVersion()
{
$this->settings->expects($this->once())
->method('getAppValue')
->with(
$this->equalTo($this->appName),
$this->equalTo('installed_version')
)
->will($this->returnValue('1.0'));
$response = $this->newsAPI->version();
$version = $response['version'];
$this->assertEquals('1.0', $version);
}
public function testBeforeUpdate()
{
$this->updateService->expects($this->once())
->method('beforeUpdate');
$this->newsAPI->beforeUpdate();
}
public function testAfterUpdate()
{
$this->updateService->expects($this->once())
->method('afterUpdate');
$this->newsAPI->afterUpdate();
}
public function testStatus()
{
$in = ['hi'];
$this->status->expects($this->once())
->method('getStatus')
->will($this->returnValue($in));
$result = $this->newsAPI->status();
$this->assertEquals($in, $result);
}
}