nextcloud/tests/lib/comments/fakefactory.php

30 lines
1.0 KiB
PHP
Raw Normal View History

<?php
/**
* Class Test_Comments_FakeFactory
*
* this class does not contain any tests. It's sole purpose is to return
* a mock of \OCP\Comments\ICommentsManager when getManager() is called.
* For mock creation and auto-loading it extends Test\TestCase. I am, uh, really
* sorry for this hack.
*/
class Test_Comments_FakeFactory extends Test\TestCase implements \OCP\Comments\ICommentsManagerFactory {
public function getManager() {
return $this->getMock('\OCP\Comments\ICommentsManager');
}
public function testOverwriteDefaultManager() {
2015-12-03 19:19:40 +03:00
$config = \OC::$server->getConfig();
$defaultManagerFactory = $config->getSystemValue('comments.managerFactory', '\OC\Comments\ManagerFactory');
$managerMock = $this->getMock('\OCP\Comments\ICommentsManager');
$config->setSystemValue('comments.managerFactory', 'Test_Comments_FakeFactory');
2015-12-03 19:19:40 +03:00
$manager = \OC::$server->getCommentsManager();
$this->assertEquals($managerMock, $manager);
$config->setSystemValue('comments.managerFactory', $defaultManagerFactory);
}
}