Fix BaseApi and corresponding tests

This commit is contained in:
Philipp
2021-11-28 13:11:12 +01:00
parent 4cc36c9b2c
commit d576bb136b
3 changed files with 40 additions and 1 deletions
+31
View 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;
}
}
+7 -1
View File
@@ -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();
}