X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2FFixtureTest.php;h=94b6a35b71286b1dd733f6c593efc28a3343b70d;hb=dadebdd061f7afe33d1a10351977d940a9f1269d;hp=74abfdddbd330d3bbbc0adc9b12dd1e12850d892;hpb=122ad0af14f046c2462a03fe33967dc41abfc8b5;p=friendica.git diff --git a/tests/FixtureTest.php b/tests/FixtureTest.php index 74abfdddbd..94b6a35b71 100644 --- a/tests/FixtureTest.php +++ b/tests/FixtureTest.php @@ -1,15 +1,34 @@ . + * * FixtureTest class. */ namespace Friendica\Test; use Dice\Dice; -use Friendica\Core\Config\Cache; -use Friendica\Core\Config\IConfig; +use Friendica\App\Arguments; +use Friendica\App\Router; +use Friendica\Core\Config\ValueObject\Cache; +use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Session; -use Friendica\Core\Session\ISession; +use Friendica\Core\Session\Capability\IHandleSessions; use Friendica\Database\Database; use Friendica\Database\DBStructure; use Friendica\DI; @@ -26,17 +45,26 @@ abstract class FixtureTest extends DatabaseTest /** * Create variables used by tests. */ - protected function setUp() + protected function setUp(): void { parent::setUp(); + $server = $_SERVER; + $server['REQUEST_METHOD'] = Router::GET; + $this->dice = (new Dice()) ->addRules(include __DIR__ . '/../static/dependencies.config.php') ->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]) - ->addRule(ISession::class, ['instanceOf' => Session\Memory::class, 'shared' => true, 'call' => null]); + ->addRule(IHandleSessions::class, ['instanceOf' => Session\Type\Memory::class, 'shared' => true, 'call' => null]) + ->addRule(Arguments::class, [ + 'instanceOf' => Arguments::class, + 'call' => [ + ['determine', [$server, $_GET], Dice::CHAIN_CALL], + ], + ]); DI::init($this->dice); - /** @var IConfig $config */ + /** @var IManageConfigValues $config */ $configCache = $this->dice->create(Cache::class); $configCache->set('database', 'disable_pdo', true); @@ -50,4 +78,20 @@ abstract class FixtureTest extends DatabaseTest // Load the API dataset for the whole API $this->loadFixture(__DIR__ . '/datasets/api.fixture.php', $dba); } + + protected function useHttpMethod(string $method = Router::GET) + { + $server = $_SERVER; + $server['REQUEST_METHOD'] = $method; + + $this->dice = $this->dice + ->addRule(Arguments::class, [ + 'instanceOf' => Arguments::class, + 'call' => [ + ['determine', [$server, $_GET], Dice::CHAIN_CALL], + ], + ]); + + DI::init($this->dice); + } }