mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-28 17:02:04 +03:00
Added test for logical-theme-system command registration
Changed how the command registration was handled due to complications of action order found during testing. Now the theme service will resolve and directly register the command on the Kernel instead of them being fetched from the ThemeService from within Kernel. More direct, Seems to work.
This commit is contained in:
@ -7,8 +7,10 @@ use BookStack\Entities\Models\Page;
|
||||
use BookStack\Entities\Tools\PageContent;
|
||||
use BookStack\Facades\Theme;
|
||||
use BookStack\Theming\ThemeEvents;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use League\CommonMark\ConfigurableEnvironmentInterface;
|
||||
|
||||
@ -206,6 +208,16 @@ class ThemeTest extends TestCase
|
||||
$this->assertStringContainsString('donkey=donut', $redirect);
|
||||
}
|
||||
|
||||
public function test_register_command_allows_provided_command_to_be_usable_via_artisan()
|
||||
{
|
||||
Theme::registerCommand(new MyCustomCommand);
|
||||
|
||||
Artisan::call('bookstack:test-custom-command', []);
|
||||
$output = Artisan::output();
|
||||
|
||||
$this->assertStringContainsString('Command ran!', $output);
|
||||
}
|
||||
|
||||
protected function usingThemeFolder(callable $callback)
|
||||
{
|
||||
// Create a folder and configure a theme
|
||||
@ -220,3 +232,10 @@ class ThemeTest extends TestCase
|
||||
File::deleteDirectory($themeFolderPath);
|
||||
}
|
||||
}
|
||||
|
||||
class MyCustomCommand extends Command {
|
||||
protected $signature = 'bookstack:test-custom-command';
|
||||
public function handle() {
|
||||
$this->line('Command ran!');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user