海工商新版后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

92 lines
2.5 KiB

<?php
namespace Tests;
use Dcat\Admin\Models\Administrator;
use Illuminate\Contracts\Console\Kernel;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
trait CreatesApplication
{
public function createApplication()
{
$app = require $this->getAppPath();
$app->make(Kernel::class)->bootstrap();
return $app;
}
protected function boot()
{
$this->artisan('admin:publish');
Schema::defaultStringLength(191);
$this->artisan('admin:install');
$this->migrateTestTables();
require __DIR__.'/helpers.php';
require __DIR__.'/resources/seeds/factory.php';
view()->addNamespace('admin-tests', __DIR__.'/resources/views');
}
protected function getAppPath()
{
$path = __DIR__.'/../bootstrap/app.php';
if (! is_file($path)) {
$path = __DIR__.'/../../bootstrap/app.php';
}
if (! is_file($path)) {
$path = __DIR__.'/../../../bootstrap/app.php';
}
return $path;
}
protected function destory()
{
//(new \CreateAdminTables())->down();
//(new \CreateAdminSettingsTable())->down();
//(new \CreateAdminExtensionsTable())->down();
//(new \UpdateAdminMenuTable())->down();
//
(new \CreateTestTables())->down();
//DB::select("delete from `migrations` where `migration` = '2016_01_04_173148_create_admin_tables'");
//DB::select("delete from `migrations` where `migration` = '2020_09_07_090635_create_admin_settings_table'");
//DB::select("delete from `migrations` where `migration` = '2020_09_22_015815_create_admin_extensions_table'");
//DB::select("delete from `migrations` where `migration` = '2020_11_01_083237_update_admin_menu_table'");
DB::select("delete from `migrations` where `migration` = '2016_11_22_093148_create_test_tables'");
Artisan::call('migrate:rollback');
}
public function migrateTestTables()
{
$fileSystem = new Filesystem();
$fileSystem->requireOnce(__DIR__.'/resources/migrations/2016_11_22_093148_create_test_tables.php');
(new \CreateTestTables())->up();
}
/**
* @return Administrator
*/
protected function getUser()
{
if ($this->user) {
return $this->user;
}
return $this->user = Administrator::first();
}
}