mirror of
https://github.com/chylex/Nextcloud-News.git
synced 2025-08-18 20:25:00 +02:00
.github
.tx
appinfo
bin
css
docs
img
js
l10n
lib
screenshots
src
templates
tests
Unit
Command
Config
Controller
ExportControllerTest.php
FeedApiControllerTest.php
FeedControllerTest.php
FolderApiControllerTest.php
FolderApiV2ControllerTest.php
FolderControllerTest.php
ItemApiControllerTest.php
ItemControllerTest.php
JSONHttpErrorTest.php
PageControllerTest.php
UtilityApiControllerTest.php
Db
Fetcher
Search
Service
Utility
api
command
test_helper
updater
bootstrap.php
.editorconfig
.eslintrc.js
.gitignore
.gitmodules
.mailmap
AUTHORS.md
CHANGELOG.md
CONTRIBUTING.md
COPYING
Makefile
README.md
babel.config.js
composer.json
composer.lock
mkdocs.yml
package-lock.json
package.json
phpstan.neon.dist
phpunit.xml
stylelint.config.js
webpack.config.js
151 lines
3.8 KiB
PHP
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);
|
|
}
|
|
|
|
|
|
}
|