jikan-rest/tests/TestCase.php

48 lines
1.3 KiB
PHP
Raw Normal View History

2018-04-21 12:59:48 +05:00
<?php
2022-12-04 20:13:24 +00:00
use App\Testing\Concerns\MakesHttpRequestsEx;
use App\Testing\ScoutFlush;
use App\Testing\SyntheticMongoDbTransaction;
2018-04-21 12:59:48 +05:00
abstract class TestCase extends Laravel\Lumen\Testing\TestCase
{
use MakesHttpRequestsEx;
protected Faker\Generator $faker;
protected function setUp(): void
{
parent::setUp();
$this->faker = Faker\Factory::create();
}
2018-04-21 12:59:48 +05:00
/**
* Creates the application.
*
* @return \Laravel\Lumen\Application
*/
public function createApplication()
{
$app = require __DIR__.'/../bootstrap/app.php';
$database = env('DB_DATABASE', 'jikan_tests');
$app['config']->set('database.connections.mongodb.database', $database === 'jikan' ? 'jikan_test' : $database);
return $app;
}
protected function setUpTraits()
{
parent::setUpTraits();
$uses = array_flip(class_uses_recursive(get_class($this)));
// we want to empty the search index
if (isset($uses[ScoutFlush::class])) {
/** @noinspection PhpUndefinedMethodInspection */
$this->runScoutFlush();
}
if (isset($uses[SyntheticMongoDbTransaction::class])) {
/** @noinspection PhpUndefinedMethodInspection */
$this->beginDatabaseTransaction();
}
2018-04-21 12:59:48 +05:00
}
}