fedi-feed-router/tests/Unit/Events/ActionPerformedTest.php
myrmidex d2919758f5
All checks were successful
CI / ci (push) Successful in 5m52s
CI / ci (pull_request) Successful in 5m46s
Build and Push Docker Image / build (push) Successful in 4m6s
Fix Pint 1.29.0 lint issues and update CI workflow
2026-03-18 20:01:25 +01:00

49 lines
1.4 KiB
PHP

<?php
namespace Tests\Unit\Events;
use App\Enums\LogLevelEnum;
use App\Events\ActionPerformed;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Tests\TestCase;
class ActionPerformedTest extends TestCase
{
public function test_event_can_be_constructed_with_defaults(): void
{
$event = new ActionPerformed('Test message');
$this->assertEquals('Test message', $event->message);
$this->assertEquals(LogLevelEnum::INFO, $event->level);
$this->assertEquals([], $event->context);
}
public function test_event_can_be_constructed_with_custom_level_and_context(): void
{
$context = ['article_id' => 1, 'error' => 'Something failed'];
$event = new ActionPerformed(
'Article validation failed',
LogLevelEnum::ERROR,
$context,
);
$this->assertEquals('Article validation failed', $event->message);
$this->assertEquals(LogLevelEnum::ERROR, $event->level);
$this->assertEquals($context, $event->context);
}
public function test_event_uses_dispatchable_trait(): void
{
$this->assertContains(Dispatchable::class, class_uses(ActionPerformed::class));
}
public function test_event_does_not_use_serializes_models_trait(): void
{
$this->assertNotContains(
SerializesModels::class,
class_uses(ActionPerformed::class),
);
}
}