fix: resolve all test failures
- Add ActivitylogServiceProvider to activity tests - Configure spatie activitylog settings in test environment - Use spatie's withoutLogs() for disabling activity logging - Check if Livewire is available before registering components - Add PSR-4 autoload mapping for test fixtures (Core\TestCore, App\Custom) - Fix ModuleScannerTest to scan correct fixture path (Website not Mod) - Fix ModuleRegistryTest assertion to check ['method'] key All 197 tests now pass. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
0eea8b5408
commit
8d2ace98cf
7 changed files with 36 additions and 16 deletions
|
|
@ -41,6 +41,8 @@
|
|||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Core\\Tests\\": "tests/",
|
||||
"Core\\TestCore\\": "tests/Fixtures/Core/TestCore/",
|
||||
"App\\Custom\\": "tests/Fixtures/Custom/",
|
||||
"Mod\\": "tests/Fixtures/Mod/",
|
||||
"Plug\\": "tests/Fixtures/Plug/",
|
||||
"Website\\": "tests/Fixtures/Website/"
|
||||
|
|
|
|||
|
|
@ -60,8 +60,10 @@ class Boot
|
|||
// Register view namespace
|
||||
$event->views('core.activity', __DIR__.'/View/Blade');
|
||||
|
||||
// Register Livewire component
|
||||
Livewire::component('core.activity-feed', ActivityFeed::class);
|
||||
// Register Livewire component (only if Livewire is available)
|
||||
if (app()->bound('livewire')) {
|
||||
Livewire::component('core.activity-feed', ActivityFeed::class);
|
||||
}
|
||||
|
||||
// Bind service as singleton
|
||||
app()->singleton(ActivityLogService::class);
|
||||
|
|
|
|||
|
|
@ -223,16 +223,6 @@ trait LogsActivity
|
|||
*/
|
||||
public static function withoutActivityLogging(callable $callback): mixed
|
||||
{
|
||||
$previousState = activity()->isEnabled();
|
||||
|
||||
activity()->disableLogging();
|
||||
|
||||
try {
|
||||
return $callback();
|
||||
} finally {
|
||||
if ($previousState) {
|
||||
activity()->enableLogging();
|
||||
}
|
||||
}
|
||||
return activity()->withoutLogs($callback);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,13 @@ class ActivityLogServiceTest extends TestCase
|
|||
|
||||
protected ActivityLogService $service;
|
||||
|
||||
protected function getPackageProviders($app): array
|
||||
{
|
||||
return array_merge(parent::getPackageProviders($app), [
|
||||
\Spatie\Activitylog\ActivitylogServiceProvider::class,
|
||||
]);
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
|
@ -29,6 +36,12 @@ class ActivityLogServiceTest extends TestCase
|
|||
$app['config']->set('core.activity.enabled', true);
|
||||
$app['config']->set('core.activity.log_name', 'test');
|
||||
$app['config']->set('core.activity.retention_days', 90);
|
||||
|
||||
// Set up spatie activitylog config
|
||||
$app['config']->set('activitylog.default_log_name', 'default');
|
||||
$app['config']->set('activitylog.default_auth_driver', null);
|
||||
$app['config']->set('activitylog.table_name', 'activities');
|
||||
$app['config']->set('activitylog.activity_model', Activity::class);
|
||||
}
|
||||
|
||||
protected function defineDatabaseMigrations(): void
|
||||
|
|
|
|||
|
|
@ -53,6 +53,13 @@ class LogsActivityTraitTest extends TestCase
|
|||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
protected function getPackageProviders($app): array
|
||||
{
|
||||
return array_merge(parent::getPackageProviders($app), [
|
||||
\Spatie\Activitylog\ActivitylogServiceProvider::class,
|
||||
]);
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
|
@ -81,6 +88,12 @@ class LogsActivityTraitTest extends TestCase
|
|||
$app['config']->set('core.activity.log_name', 'default');
|
||||
$app['config']->set('core.activity.include_workspace', true);
|
||||
$app['config']->set('core.activity.default_events', ['created', 'updated', 'deleted']);
|
||||
|
||||
// Set up spatie activitylog config
|
||||
$app['config']->set('activitylog.default_log_name', 'default');
|
||||
$app['config']->set('activitylog.default_auth_driver', null);
|
||||
$app['config']->set('activitylog.table_name', 'activities');
|
||||
$app['config']->set('activitylog.activity_model', Activity::class);
|
||||
}
|
||||
|
||||
protected function defineDatabaseMigrations(): void
|
||||
|
|
@ -105,7 +118,7 @@ class LogsActivityTraitTest extends TestCase
|
|||
$model = TestActivityModel::create(['name' => 'Original Name']);
|
||||
$model->update(['name' => 'Updated Name']);
|
||||
|
||||
$activities = Activity::latest()->get();
|
||||
$activities = Activity::orderBy('id', 'desc')->get();
|
||||
|
||||
$this->assertCount(2, $activities);
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class ModuleRegistryTest extends TestCase
|
|||
$listeners = $registry->getListenersFor(WebRoutesRegistering::class);
|
||||
|
||||
$this->assertArrayHasKey('Mod\\Example\\Boot', $listeners);
|
||||
$this->assertEquals('onWebRoutes', $listeners['Mod\\Example\\Boot']);
|
||||
$this->assertEquals('onWebRoutes', $listeners['Mod\\Example\\Boot']['method']);
|
||||
}
|
||||
|
||||
public function test_get_events_returns_registered_events(): void
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class ModuleScannerTest extends TestCase
|
|||
|
||||
public function test_scan_finds_modules_in_website_path(): void
|
||||
{
|
||||
$result = $this->scanner->scan([$this->getFixturePath('Mod')]);
|
||||
$result = $this->scanner->scan([$this->getFixturePath('Website')]);
|
||||
|
||||
$this->assertIsArray($result);
|
||||
$this->assertArrayHasKey(WebRoutesRegistering::class, $result);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue