* @author Bernhard Posselt * @author David Guillot * @copyright 2012 Alessandro Cosentino * @copyright 2012-2014 Bernhard Posselt * @copyright 2018 David Guillot */ namespace OCA\News\Tests\Unit\Controller; use OCA\News\Controller\UtilityApiController; class UtilityApiControllerTest extends \PHPUnit_Framework_TestCase { private $settings; private $request; private $userSession; private $user; private $newsAPI; private $updater; private $appName; private $status; protected function setUp() { $this->appName = 'news'; $this->settings = $this->getMockBuilder( '\OCP\IConfig' ) ->disableOriginalConstructor() ->getMock(); $this->request = $this->getMockBuilder( '\OCP\IRequest' ) ->disableOriginalConstructor() ->getMock(); $this->userSession = $this->getMockBuilder( '\OCP\IUserSession' ) ->disableOriginalConstructor() ->getMock(); $this->user = $this->getMockBuilder( '\OCP\IUser' ) ->disableOriginalConstructor() ->getMock(); $this->userSession->expects($this->any()) ->method('getUser') ->will($this->returnValue($this->user)); $this->updater = $this->getMockBuilder( '\OCA\News\Utility\Updater' ) ->disableOriginalConstructor() ->getMock(); $this->status = $this->getMockBuilder( '\OCA\News\Service\StatusService' ) ->disableOriginalConstructor() ->getMock(); $this->newsAPI = new UtilityApiController( $this->appName, $this->request, $this->userSession, $this->updater, $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->updater->expects($this->once()) ->method('beforeUpdate'); $this->newsAPI->beforeUpdate(); } public function testAfterUpdate() { $this->updater->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); } }