--- /dev/null
+<?php
+
+// Copyright (C) 2010-2024, the Friendica project
+// SPDX-FileCopyrightText: 2010-2024 the Friendica project
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+declare(strict_types=1);
+
+namespace Friendica\Event;
+
+use Friendica\Core\Config\Util\ConfigFileManager;
+
+/**
+ * Notify that the config was loaded
+ *
+ * @internal
+ */
+final class ConfigLoadedEvent implements NamedEvent
+{
+ public const CONFIG_LOADED = 'friendica.config_loaded';
+
+ private string $name;
+
+ private ConfigFileManager $config;
+
+ public function __construct(string $name, ConfigFileManager $config)
+ {
+ $this->name = $name;
+ $this->config = $config;
+ }
+
+ public function getName(): string
+ {
+ return $this->name;
+ }
+
+ public function getConfig(): ConfigFileManager
+ {
+ return $this->config;
+ }
+}
--- /dev/null
+<?php
+
+// Copyright (C) 2010-2024, the Friendica project
+// SPDX-FileCopyrightText: 2010-2024 the Friendica project
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+declare(strict_types=1);
+
+namespace Friendica\Test\Unit\Event;
+
+use Friendica\Core\Config\Util\ConfigFileManager;
+use Friendica\Event\ConfigLoadedEvent;
+use Friendica\Event\NamedEvent;
+use PHPUnit\Framework\TestCase;
+
+class ConfigLoadedEventTest extends TestCase
+{
+ public function testImplementationOfInstances(): void
+ {
+ $event = new ConfigLoadedEvent('test', $this->createStub(ConfigFileManager::class));
+
+ $this->assertInstanceOf(NamedEvent::class, $event);
+ }
+
+ public static function getPublicConstants(): array
+ {
+ return [
+ [ConfigLoadedEvent::CONFIG_LOADED, 'friendica.config_loaded'],
+ ];
+ }
+
+ /**
+ * @dataProvider getPublicConstants
+ */
+ public function testPublicConstantsAreAvailable($value, $expected): void
+ {
+ $this->assertSame($expected, $value);
+ }
+
+ public function testGetNameReturnsName(): void
+ {
+ $event = new ConfigLoadedEvent('test', $this->createStub(ConfigFileManager::class));
+
+ $this->assertSame('test', $event->getName());
+ }
+
+ public function testGetConfigReturnsCorrectString(): void
+ {
+ $config = $this->createStub(ConfigFileManager::class);
+
+ $event = new ConfigLoadedEvent('test', $config);
+
+ $this->assertSame($config, $event->getConfig());
+ }
+}