diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fbc3ce2..9a618c0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,7 +47,7 @@ jobs: - name: Install dependencies run: | - composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update + composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --dev --no-interaction --no-update composer update --${{ matrix.stability }} --prefer-dist --no-interaction - name: List Installed Dependencies diff --git a/src/Http/Controllers/EnvironmentController.php b/src/Http/Controllers/EnvironmentController.php index 73c051c..f117943 100644 --- a/src/Http/Controllers/EnvironmentController.php +++ b/src/Http/Controllers/EnvironmentController.php @@ -67,26 +67,25 @@ private function checkDatabaseConnection(Request $request) $settings = config("database.connections.{$connection}"); + if (!is_array($settings)) { + $settings = []; + } + config([ - 'database' => [ - 'default' => $connection, - 'connections' => [ - $connection => array_merge($settings, [ - 'driver' => $connection, - 'host' => $request->input('database_hostname'), - 'port' => $request->input('database_port'), - 'database' => $request->input('database_name'), - 'username' => $request->input('database_username'), - 'password' => $request->input('database_password'), - ]), - ], - ], + "database.connections.{$connection}" => array_merge($settings, [ + 'driver' => $connection, + 'host' => $request->input('database_hostname'), + 'port' => $request->input('database_port'), + 'database' => $request->input('database_name'), + 'username' => $request->input('database_username'), + 'password' => $request->input('database_password'), + ]), ]); - DB::purge(); + DB::purge($connection); try { - DB::connection()->getPdo(); + DB::connection($connection)->getPdo(); return true; } catch (Exception $e) { diff --git a/tests/Feature/EnvironmentPostTest.php b/tests/Feature/EnvironmentPostTest.php index 6e7505a..9b663fc 100644 --- a/tests/Feature/EnvironmentPostTest.php +++ b/tests/Feature/EnvironmentPostTest.php @@ -8,6 +8,11 @@ class EnvironmentPostTest extends TestCase { + protected function defineDatabaseMigrations(): void + { + // Do nothing to prevent migrations from running + } + /** @test */ public function it_validates_required_database_fields(): void { diff --git a/tests/TestCase.php b/tests/TestCase.php index 0f1a1a8..b02b470 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -21,10 +21,27 @@ protected function setUp(): void protected function getPackageProviders($app): array { return [ + \Juzaweb\Modules\Core\Providers\CoreServiceProvider::class, + \Juzaweb\QueryCache\QueryCacheServiceProvider::class, InstallerServiceProvider::class, ]; } + protected function getPackageAliases($app): array + { + return [ + 'Field' => \Juzaweb\Modules\Core\Facades\Field::class, + 'Module' => \Juzaweb\Modules\Core\Facades\Module::class, + 'Theme' => \Juzaweb\Modules\Core\Facades\Theme::class, + 'Widget' => \Juzaweb\Modules\Core\Facades\Widget::class, + 'Sidebar' => \Juzaweb\Modules\Core\Facades\Sidebar::class, + 'PageTemplate' => \Juzaweb\Modules\Core\Facades\PageTemplate::class, + 'PageBlock' => \Juzaweb\Modules\Core\Facades\PageBlock::class, + 'Chart' => \Juzaweb\Modules\Core\Facades\Chart::class, + 'Breadcrumb' => \Juzaweb\Modules\Core\Facades\Breadcrumb::class, + ]; + } + /** * Define environment setup. *