39 lines
964 B
PHP
39 lines
964 B
PHP
<?php
|
|
|
|
namespace Tests;
|
|
|
|
use Illuminate\Contracts\Console\Kernel;
|
|
use Illuminate\Support\Facades\Config;
|
|
|
|
trait CreatesApplication
|
|
{
|
|
/**
|
|
* Creates the application.
|
|
*
|
|
* @return \Illuminate\Foundation\Application
|
|
*/
|
|
public function createApplication()
|
|
{
|
|
$app = require __DIR__ . '/../bootstrap/app.php';
|
|
|
|
$app->loadEnvironmentFrom('.env.testing'); // specify the file to use for environment, must be run before boostrap
|
|
|
|
$app->make(Kernel::class)->bootstrap();
|
|
|
|
$this->clearCache(); // NEW LINE -- Testing doesn't work properly with cached stuff.
|
|
|
|
return $app;
|
|
}
|
|
|
|
/**
|
|
* Clears Laravel Cache before testing
|
|
*/
|
|
protected function clearCache()
|
|
{
|
|
$commands = ['clear-compiled', 'cache:clear', 'view:clear', 'config:clear', 'route:clear'];
|
|
foreach ($commands as $command) {
|
|
\Illuminate\Support\Facades\Artisan::call($command);
|
|
}
|
|
}
|
|
}
|