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), ); } }