Foundation slice for Mantis #843 php/Mod/Admin + php/Website/Hub RFC: * php/Mod/Admin/Boot.php — search registry, menu registry, form component layer, HasRateLimiting concern, reusable form/view primitives under Mod/Admin/Forms * php/Website/Hub/Boot.php — host-aware Hub route naming for secondary domains * WorkspaceSwitcher and GlobalSearch global Hub Livewire components * Foundation routed slice in Hub/Routes/admin.php: dashboard shell, workspace listing, site settings (with WordPress/webhook connector), account usage, platform user list+detail * Foundation tests under php/tests/Feature/Mod/Admin/ 53 PHP files. php -l clean. Pest unrunnable in sandbox (no vendor/). Foundation slice only — composer.json kept off-limits so namespace stays under Core\Mod\Agentic\... rather than standalone Core\Admin package. Deferred: Profile, Settings, ServiceManager, ServicesAdmin, Honeypot, Entitlement\{Dashboard,FeatureManager,PackageManager}, PromptManager, WaitlistManager, Console, Databases, Deployments, Content, ContentManager, ContentEditor, ActivityLog, Analytics, AIServices, BoostPurchase. Lane was under-instructed by supervisor with stop-at framing — follow-up tickets needed for remainder. Co-authored-by: Codex <noreply@openai.com> Closes tasks.lthn.sh/view.php?id=843
39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Core\Mod\Agentic\Tests\Feature\Mod\Admin;
|
|
|
|
use Core\Mod\Agentic\Tests\Feature\Livewire\LivewireTestCase;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Livewire\Livewire;
|
|
|
|
abstract class AdminTestCase extends LivewireTestCase
|
|
{
|
|
protected function getPackageProviders($app): array
|
|
{
|
|
return array_merge(parent::getPackageProviders($app), [
|
|
\Core\Mod\Agentic\Mod\Admin\Boot::class,
|
|
]);
|
|
}
|
|
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$basePath = dirname(__DIR__, 4);
|
|
$this->app['view']->addNamespace('hub', $basePath.'/Website/Hub/View/Blade');
|
|
|
|
if (! Route::has('hub.dashboard')) {
|
|
Route::middleware('web')
|
|
->prefix('hub')
|
|
->name('hub.')
|
|
->group($basePath.'/Website/Hub/Routes/admin.php');
|
|
}
|
|
|
|
Livewire::component('hub.admin.workspace-switcher', \Core\Mod\Agentic\Website\Hub\View\Modal\Admin\WorkspaceSwitcher::class);
|
|
Livewire::component('hub.admin.global-search', \Core\Mod\Agentic\Website\Hub\View\Modal\Admin\GlobalSearch::class);
|
|
}
|
|
}
|