Skip to content

Commit

Permalink
[Change] Enable debug output for unit tests,
Browse files Browse the repository at this point in the history
[Add] Missing BladeCaptureDirectiveServiceProvider to testbench.yaml,
[Add] Tasks to manage & prepare tests and workbench,
[Change] Ensure Browser tests use persistent Orchestral Dusk database
  • Loading branch information
bumbummen99 committed Nov 24, 2024
1 parent 6f174a7 commit 5914e45
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 17 deletions.
4 changes: 3 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"-dxdebug.start_with_request=yes"
],
"program": "${workspaceFolder}/vendor/bin/phpunit",
"preLaunchTask": "Create Dusk Database",
},
{
"name": "Debug Workbench",
Expand All @@ -41,7 +42,8 @@
"args": [
"serve"
],
"postDebugTask": "KillLaravelServer",
"preLaunchTask": "Prepare Workbench",
"postDebugTask": "Kill Laravel Server",
"internalConsoleOptions": "openOnSessionStart"
}
]
Expand Down
50 changes: 41 additions & 9 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,39 @@
"version": "2.0.0",
"tasks": [
{
"label": "KillLaravelServer",
"label": "Prepare Workbench",
"dependsOn": [
"Create Database",
"Migrate Database",
"Create User"
]
},
{
"label": "Create Database",
"type": "shell",
"command": "pkill",
"command": "${workspaceFolder}/vendor/bin/testbench",
"args": [
"-f",
"vendor/orchestra/testbench-core/laravel/server.php"
"package:create-sqlite-db"
]
},
{
"label": "CreateUser",
"label": "Drop Database",
"type": "shell",
"command": "${workspaceFolder}/vendor/bin/testbench",
"args": [
"package:drop-sqlite-db"
]
},
{
"label": "Migrate Database",
"type": "shell",
"command": "${workspaceFolder}/vendor/bin/testbench",
"args": [
"migrate"
]
},
{
"label": "Create User",
"type": "shell",
"command": "${workspaceFolder}/vendor/bin/testbench",
"args": [
Expand All @@ -24,17 +47,26 @@
]
},
{
"label": "Create SQLite Database",
"label": "Kill Laravel Server",
"type": "shell",
"command": "${workspaceFolder}/vendor/bin/testbench",
"command": "pkill",
"args": [
"-f",
"vendor/orchestra/testbench-core/laravel/server.php"
]
},
{
"label": "Create Dusk Database",
"type": "shell",
"command": "${workspaceFolder}/vendor/bin/testbench-dusk",
"args": [
"package:create-sqlite-db"
]
},
{
"label": "Drop SQLite Database",
"label": "Drop Dusk Database",
"type": "shell",
"command": "${workspaceFolder}/vendor/bin/testbench",
"command": "${workspaceFolder}/vendor/bin/testbench-dusk",
"args": [
"package:drop-sqlite-db"
]
Expand Down
1 change: 1 addition & 0 deletions phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<php>
<env name="APP_KEY" value="AckfSECXIvnK5r28GVIWUAxmbBSjTsmF"/>
<env name="APP_ENV" value="testing"/>
<env name="APP_DEBUG" value="true"/>
<env name="DB_CONNECTION" value="testing"/>
</php>
<testsuites>
Expand Down
16 changes: 9 additions & 7 deletions testbench.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
providers:
- Workbench\App\Providers\WorkbenchServiceProvider
- BladeUI\Heroicons\BladeHeroiconsServiceProvider
- BladeUI\Icons\BladeIconsServiceProvider
- Livewire\LivewireServiceProvider
- RyanChandler\BladeCaptureDirective\BladeCaptureDirectiveServiceProvider
- Filament\FilamentServiceProvider
- Filament\Forms\FormsServiceProvider
- Filament\Widgets\WidgetsServiceProvider
- Filament\Support\SupportServiceProvider
- Filament\Notifications\NotificationsServiceProvider
- Filament\Infolists\InfolistsServiceProvider
- Filament\Widgets\WidgetsServiceProvider
- Filament\Tables\TablesServiceProvider
- Filament\Actions\ActionsServiceProvider
- BladeUI\Icons\BladeIconsServiceProvider
- BladeUI\Heroicons\BladeHeroiconsServiceProvider
- Filament\Forms\FormsServiceProvider
- Filament\Infolists\InfolistsServiceProvider
- Filament\Notifications\NotificationsServiceProvider
- SkyRaptor\FilamentBlocksBuilder\FilamentBlocksBuilderServiceProvider
- Workbench\App\Providers\WorkbenchServiceProvider
- Workbench\App\Providers\Filament\AdminPanelProvider

migrations:
Expand Down
22 changes: 22 additions & 0 deletions tests/Browser/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Tests\SkyRaptor\FilamentBlocksBuilder\Browser;

use Illuminate\Contracts\Config\Repository;
use Tests\SkyRaptor\FilamentBlocksBuilder\Concerns\RequiresApplicationEnvironment;

/**
Expand All @@ -11,4 +12,25 @@
class TestCase extends \Orchestra\Testbench\Dusk\TestCase
{
use RequiresApplicationEnvironment;

/**
* Define environment setup.
*
* @param Illuminate\Foundation\Application $app
*
* @return void
*/
protected function defineEnvironment($app)
{
/**
* Ensure Browser tests use the peristent SQLite database file managed by Orchestral Dusk.
*
* @see https://packages.tools/testbench-dusk/the-basic.html#supported-database
*/
tap($app['config'], function (Repository $config) {
$config->set('database.default', 'sqlite');

$path = $config->get('database.connections.sqlite.database');
});
}
}

0 comments on commit 5914e45

Please sign in to comment.