Fix BaseApi and corresponding tests
This commit is contained in:
parent
4cc36c9b2c
commit
d576bb136b
3 changed files with 40 additions and 1 deletions
|
@ -67,6 +67,8 @@ class BaseApi extends BaseModule
|
|||
public function __construct(App $app, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, ApiResponse $response, array $server, array $parameters = [])
|
||||
{
|
||||
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
||||
|
||||
$this->app = $app;
|
||||
}
|
||||
|
||||
protected function delete()
|
||||
|
|
31
tests/Util/AppDouble.php
Normal file
31
tests/Util/AppDouble.php
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Test\Util;
|
||||
|
||||
use Friendica\App;
|
||||
|
||||
/**
|
||||
* Making the App class overridable for specific situations
|
||||
*
|
||||
* @see App
|
||||
*/
|
||||
class AppDouble extends App
|
||||
{
|
||||
/** @var bool Marks/Overwrites if the user is currently logged in */
|
||||
protected $isLoggedIn = false;
|
||||
|
||||
/**
|
||||
* Manually overwrite the "isLoggedIn" behavior
|
||||
*
|
||||
* @param bool $isLoggedIn
|
||||
*/
|
||||
public function setIsLoggedIn(bool $isLoggedIn)
|
||||
{
|
||||
$this->isLoggedIn = $isLoggedIn;
|
||||
}
|
||||
|
||||
public function isLoggedIn()
|
||||
{
|
||||
return $this->isLoggedIn;
|
||||
}
|
||||
}
|
|
@ -21,12 +21,14 @@
|
|||
|
||||
namespace Friendica\Test\src\Module\Api;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Addon;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\DI;
|
||||
use Friendica\Security\Authentication;
|
||||
use Friendica\Test\FixtureTest;
|
||||
use Friendica\Test\Util\AppDouble;
|
||||
use Friendica\Test\Util\AuthenticationDouble;
|
||||
|
||||
abstract class ApiTest extends FixtureTest
|
||||
|
@ -51,9 +53,13 @@ abstract class ApiTest extends FixtureTest
|
|||
parent::setUp(); // TODO: Change the autogenerated stub
|
||||
|
||||
$this->dice = $this->dice
|
||||
->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true]);
|
||||
->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true])
|
||||
->addRule(App::class, ['instanceOf' => AppDouble::class, 'shared' => true]);
|
||||
DI::init($this->dice);
|
||||
|
||||
// Manual overwrite for API testrs :-)
|
||||
DI::app()->setIsLoggedIn(true);
|
||||
|
||||
$this->installAuthTest();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue