Ajout d'un test unitaire sur auth et calcul de stress

This commit is contained in:
2026-04-23 18:30:26 +02:00
parent c2e9decc41
commit f3092f2dc4
4 changed files with 91 additions and 1 deletions
+38
View File
@@ -0,0 +1,38 @@
<?php
namespace Tests\Feature;
use App\Models\User;
use App\Models\Role;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use PHPUnit\Framework\Attributes\Test;
class AuthSecurityTest extends TestCase
{
use RefreshDatabase; // Réinitialise la BDD de test à chaque lancement
#[Test]
public function un_utilisateur_non_authentifie_est_bloque()
{
// On tente d'accéder à la route de profil sans token
$response = $this->postJson('/api/update-profile');
$response->assertStatus(401);
}
#[Test]
public function un_utilisateur_authentifie_peut_acceder_a_son_profil()
{
// 1. Préparation : Créer un rôle et un utilisateur
$role = Role::create(['libelle' => 'Utilisateur']);
$user = User::factory()->create(['id_role' => $role->id]);
// 2. Action : Simuler une connexion avec Sanctum
$response = $this->actingAs($user, 'sanctum')
->getJson('/api/profile'); // Remplace par une de tes routes protégées
// 3. Assertion : Vérifier que l'accès est accordé (200)
$response->assertStatus(200);
}
}
+42
View File
@@ -0,0 +1,42 @@
<?php
namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
class StressCalculationTest extends TestCase
{
/**
* A basic unit test example.
*/
public function test_stress_score_calculation(): void
{
// 1. Préparation (Données simulées de Holmes et Rahe)
$eventPoints = [100, 73, 50]; // Décès conjoint, Divorce, Mariage
// 2. Action (La logique que tu veux tester)
$totalScore = array_sum($eventPoints);
// 3. Assertion (La vérification)
$this->assertEquals(223, $totalScore, "Le calcul du score total a échoué.");
}
/**
* Teste la détermination du niveau de stress.
*/
public function test_stress_level_label(): void
{
$score = 250;
$level = "";
if ($score >= 300) {
$level = "Risque élevé";
} elseif ($score >= 150) {
$level = "Risque modéré";
} else {
$level = "Risque léger";
}
$this->assertEquals("Risque modéré", $level);
}
}