| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | <?phpnamespace 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();    }}
 |