Files
gestion-certificats2/php/tests/Utils/DarkModeTest.php
google-labs-jules[bot] ece5e73fba J'ai corrigé l'autoloading PSR-4 pour les tests PHPUnit.
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.
2025-06-16 12:18:04 +00:00

24 lines
642 B
PHP

<?php
namespace App\Tests\Utils;
use App\Utils\DarkMode;
use PHPUnit\Framework\TestCase;
class DarkModeTest extends TestCase
{
public function testIsDarkModeByDefaultAfterInit()
{
// 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']);
}
}