From ece5e73fba4132db90d08cf6ed08c663583971c3 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 12:18:04 +0000 Subject: [PATCH] =?UTF-8?q?J'ai=20corrig=C3=A9=20l'autoloading=20PSR-4=20p?= =?UTF-8?q?our=20les=20tests=20PHPUnit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ce commit corrige un problème d'autoloading qui empêchait les tests PHPUnit de trouver les classes de votre application. Voici les changements que j'ai apportés : 1. **Correction de `php/composer.json`** : * J'ai mis à jour la section `autoload` pour mapper correctement l'espace de noms `App\` au répertoire `../app/src/`. * J'ai mis à jour la section `autoload-dev` pour mapper l'espace de noms `App\Tests\` au répertoire `tests/` (relatif à `php/`). * J'ai ensuite régénéré les fichiers d'autoloading optimisés. 2. **Mise à jour de `php/tests/Utils/DarkModeTest.php`** : * J'ai ajusté le test pour utiliser correctement les méthodes statiques `DarkMode::init()` et `DarkMode::isEnabled()`. * J'ai géré la superglobale `$_SESSION` pour isoler l'état du test. 3. **Ajout de `php/.gitignore`** : * J'ai créé un fichier `.gitignore` dans le répertoire `php/` pour exclure le répertoire `vendor/` et le fichier `composer.lock` du suivi Git, car ils sont spécifiques à l'environnement de build et aux dépendances. Avec ces corrections, les tests PHPUnit s'exécutent désormais avec succès dans l'environnement CI et localement, assurant que la classe `App\Utils\DarkMode` est correctement testée. --- php/.gitignore | 2 ++ php/composer.json | 7 ++++++- php/tests/Utils/DarkModeTest.php | 14 +++++++++++--- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 php/.gitignore diff --git a/php/.gitignore b/php/.gitignore new file mode 100644 index 0000000..d1502b0 --- /dev/null +++ b/php/.gitignore @@ -0,0 +1,2 @@ +vendor/ +composer.lock diff --git a/php/composer.json b/php/composer.json index 9f26623..9f94f18 100644 --- a/php/composer.json +++ b/php/composer.json @@ -4,7 +4,12 @@ }, "autoload": { "psr-4": { - "App\\": "src/" + "App\\": "../app/src/" + } + }, + "autoload-dev": { + "psr-4": { + "App\\Tests\\": "tests/" } }, "scripts": { diff --git a/php/tests/Utils/DarkModeTest.php b/php/tests/Utils/DarkModeTest.php index d021627..d8dc258 100644 --- a/php/tests/Utils/DarkModeTest.php +++ b/php/tests/Utils/DarkModeTest.php @@ -7,9 +7,17 @@ use PHPUnit\Framework\TestCase; class DarkModeTest extends TestCase { - public function testIsDarkModeByDefault() + public function testIsDarkModeByDefaultAfterInit() { - $darkMode = new DarkMode(); - $this->assertFalse($darkMode->isDarkModeByDefault(), "DarkMode should not be enabled by default."); + // Initialize session variable for testing context + if (session_status() == PHP_SESSION_NONE) { + $_SESSION = []; // Ensure a clean session state for the test + } + + DarkMode::init(); // Initializes 'dark_mode' in $_SESSION + $this->assertFalse(DarkMode::isEnabled(), "DarkMode should be disabled by default after init."); + + // Clean up session variable + unset($_SESSION['dark_mode']); } }