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