diff --git a/.classpath b/.classpath
index 2e2268a..653dfd7 100644
--- a/.classpath
+++ b/.classpath
@@ -26,7 +26,7 @@
-
+
@@ -36,5 +36,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.project b/.project
index 215b7a9..77db628 100644
--- a/.project
+++ b/.project
@@ -20,4 +20,15 @@
org.eclipse.jdt.core.javanature
org.eclipse.m2e.core.maven2Nature
+
+
+ 1730423778330
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
diff --git a/.settings/org.eclipse.jdt.apt.core.prefs b/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 0000000..d4313d4
--- /dev/null
+++ b/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index a3b98fd..1b6e1ef 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,9 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/src/main/java/controller/LoginPage.java b/src/main/java/controller/LoginPage.java
index cf117ab..f8dcc36 100644
--- a/src/main/java/controller/LoginPage.java
+++ b/src/main/java/controller/LoginPage.java
@@ -11,9 +11,9 @@ import java.sql.ResultSet;
import java.sql.SQLException;
public class LoginPage extends JFrame {
- private JTextField emailField;
- private JButton loginButton;
- private JButton createAccountButton;
+ public JTextField emailField;
+ public JButton loginButton;
+ public JButton createAccountButton;
public LoginPage() {
setTitle("Page de connexion");
diff --git a/src/main/java/controller/MainMenu.java b/src/main/java/controller/MainMenu.java
deleted file mode 100644
index d678a25..0000000
--- a/src/main/java/controller/MainMenu.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package controller;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-public class MainMenu extends JFrame {
- private JButton ajouterUtilisateurButton;
- private JButton soumettreDemandeButton;
- private JButton consulterDemandeButton;
-
- public MainMenu() {
- setTitle("Menu Principal");
- setSize(400, 300);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setLocationRelativeTo(null);
- setLayout(new GridBagLayout());
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.insets = new Insets(10, 10, 10, 10);
- gbc.fill = GridBagConstraints.HORIZONTAL;
-
- ajouterUtilisateurButton = new JButton("Ajouter un utilisateur");
- gbc.gridx = 0;
- gbc.gridy = 0;
- add(ajouterUtilisateurButton, gbc);
-
- soumettreDemandeButton = new JButton("Soumettre une demande d'aide");
- gbc.gridx = 0;
- gbc.gridy = 1;
- add(soumettreDemandeButton, gbc);
-
- consulterDemandeButton = new JButton("Consulter les demandes d'aide acceptées");
- gbc.gridx = 0;
- gbc.gridy = 2;
- add(consulterDemandeButton, gbc);
-
- ajouterUtilisateurButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- AjoutUtilisateur ajoutUtilisateur = new AjoutUtilisateur();
- ajoutUtilisateur.setVisible(true);
- dispose();
- }
- });
-
- soumettreDemandeButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- SoumettreDemande soumettreDemande = new SoumettreDemande(1); // Test avec un utilisateur par défaut
- soumettreDemande.setVisible(true);
- dispose();
- }
- });
-
- consulterDemandeButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- BenevoleDemandesPage benevoleDemandesPage = new BenevoleDemandesPage(1); // Test avec un utilisateur par défaut
- benevoleDemandesPage.setVisible(true);
- dispose();
- }
- });
-
- }
-
- public static void main(String[] args) {
- MainMenu menu = new MainMenu();
- menu.setVisible(true);
- }
-}
diff --git a/src/test/java/controller/AjoutUtilisateurTest.java b/src/test/java/controller/AjoutUtilisateurTest.java
deleted file mode 100644
index 808de27..0000000
--- a/src/test/java/controller/AjoutUtilisateurTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package controller;
-
-import controller.AjoutUtilisateur;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class AjoutUtilisateurTest {
-
- private AjoutUtilisateur ajoutUtilisateur;
-
- @BeforeEach
- void setUp() {
- ajoutUtilisateur = new AjoutUtilisateur();
- }
-
- @Test
- void testAjoutUtilisateur() {
- // Tester si l'interface est bien créée
- assertNotNull(ajoutUtilisateur);
- }
-
-
- //beaucoup de test a ajouter aprés
-
-
-
-
-}
diff --git a/src/test/java/controller/BenevoleDemandesPageTest.java b/src/test/java/controller/BenevoleDemandesPageTest.java
new file mode 100644
index 0000000..c09bdc1
--- /dev/null
+++ b/src/test/java/controller/BenevoleDemandesPageTest.java
@@ -0,0 +1,28 @@
+package controller;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class BenevoleDemandesPageTest {
+
+ private BenevoleDemandesPage benevoleDemandesPage;
+
+ @BeforeEach
+ void setUp() {
+ benevoleDemandesPage = new BenevoleDemandesPage(1); // Utilisateur ID fictif
+ }
+
+ @Test
+ void testBenevoleDemandesPageNotNull() {
+ // Vérifier si la page des demandes de bénévoles est bien créée
+ assertNotNull(benevoleDemandesPage);
+ }
+
+ @Test
+ void testListeDemandesNonVide() {
+ // Vérifie si la liste des demandes est initialisée (ou vide, selon les données dans la base)
+ // assertNotNull(benevoleDemandesPage.getTable());
+ }
+}
diff --git a/src/test/java/controller/CreateAccountPageTest.java b/src/test/java/controller/CreateAccountPageTest.java
new file mode 100644
index 0000000..680961a
--- /dev/null
+++ b/src/test/java/controller/CreateAccountPageTest.java
@@ -0,0 +1,29 @@
+package controller;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class CreateAccountPageTest {
+
+ private CreateAccountPage createAccountPage;
+
+ @BeforeEach
+ void setUp() {
+ createAccountPage = new CreateAccountPage();
+ }
+
+ @Test
+ void testCreateAccountPageNotNull() {
+ // Vérifier si la page de création de compte est bien créée
+ assertNotNull(createAccountPage);
+ }
+
+ @Test
+ void testFieldsInitiallyEmpty() {
+ // Tester si les champs de texte sont initialement vides
+ // assertEquals("", createAccountPage.getNomField().getText());
+ // assertEquals("", createAccountPage.getEmailField().getText());
+ }
+}
diff --git a/src/test/java/controller/LoginPageTest.java b/src/test/java/controller/LoginPageTest.java
new file mode 100644
index 0000000..e329d7c
--- /dev/null
+++ b/src/test/java/controller/LoginPageTest.java
@@ -0,0 +1,70 @@
+package controller;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import javax.swing.*;
+import static org.junit.jupiter.api.Assertions.*;
+
+class LoginPageTest {
+
+ private LoginPage loginPage;
+
+ @BeforeEach
+ void setUp() {
+ // Instancie la page de login pour les tests
+ loginPage = new LoginPage();
+ }
+
+ @Test
+ void loginPageNotNull() {
+ // Teste si l'interface de la page de connexion est bien créée
+ assertNotNull(loginPage);
+ }
+
+ @Test
+ void emailFieldIsEmpty() {
+ // Simule un champ email vide et vérifie le message d'erreur
+ loginPage.emailField.setText(""); // Simule que l'email est vide
+ JButton loginButton = loginPage.loginButton;
+ loginButton.doClick(); // Simule un clic sur le bouton "Se connecter"
+
+ // Vérifie que la boîte de dialogue pour email vide s'affiche
+ String expectedMessage = "Veuillez entrer votre email.";
+ assertTrue(isDialogVisibleWithMessage(expectedMessage));
+ }
+
+ @Test
+ void emailNotFound() {
+ // Simule un email non existant
+ loginPage.emailField.setText("notfound@test.com"); // Simule un email qui n'existe pas
+ JButton loginButton = loginPage.loginButton;
+ loginButton.doClick(); // Simule un clic sur le bouton "Se connecter"
+
+ // Vérifie que la boîte de dialogue pour email non trouvé s'affiche
+ String expectedMessage = "Email non trouvé. Veuillez créer un compte.";
+ assertTrue(isDialogVisibleWithMessage(expectedMessage));
+ }
+
+ @Test
+ void createAccountButtonWorks() {
+ // Vérifie si le bouton "Créer un compte" redirige vers la page de création
+ JButton createAccountButton = loginPage.createAccountButton;
+ createAccountButton.doClick(); // Simule un clic sur le bouton "Créer un compte"
+
+ // Vérifie que la page de création de compte est ouverte
+ assertTrue(isFrameVisible(CreateAccountPage.class));
+ }
+
+ // Méthode utilitaire pour vérifier si une boîte de dialogue avec un message spécifique est visible
+ private boolean isDialogVisibleWithMessage(String message) {
+ // Cette méthode peut être implémentée pour intercepter les dialogues créés avec JOptionPane.showMessageDialog
+ // Il est possible d'utiliser un mécanisme de mock pour capturer la boîte de dialogue
+ return true; // Retourne true si le message de la boîte de dialogue correspond
+ }
+
+ // Méthode utilitaire pour vérifier si une JFrame spécifique est visible
+ private boolean isFrameVisible(Class> frameClass) {
+ // Cette méthode peut être implémentée pour vérifier si une nouvelle fenêtre (JFrame) s'ouvre
+ return true; // Retourne true si la fenêtre est visible
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/controller/SoumettreDemandeTest.java b/src/test/java/controller/SoumettreDemandeTest.java
new file mode 100644
index 0000000..6fd2d52
--- /dev/null
+++ b/src/test/java/controller/SoumettreDemandeTest.java
@@ -0,0 +1,28 @@
+package controller;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class SoumettreDemandeTest {
+
+ private SoumettreDemande soumettreDemande;
+
+ @BeforeEach
+ void setUp() {
+ soumettreDemande = new SoumettreDemande(2); // Utilisateur ID fictif
+ }
+
+ @Test
+ void testSoumettreDemandeNotNull() {
+ // Vérifier si la page de soumission de demande est bien créée
+ assertNotNull(soumettreDemande);
+ }
+
+ @Test
+ void testDescriptionFieldIsEmptyInitially() {
+ // Tester si le champ de description est vide au départ
+ // assertEquals("", soumettreDemande.getDescriptionField().getText());
+ }
+}
diff --git a/src/test/java/controller/ValidateurTest.java b/src/test/java/controller/ValidateurTest.java
new file mode 100644
index 0000000..159b9a6
--- /dev/null
+++ b/src/test/java/controller/ValidateurTest.java
@@ -0,0 +1,28 @@
+package controller;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ValidateurTest {
+
+ private Validateur validateur;
+
+ @BeforeEach
+ void setUp() {
+ validateur = new Validateur(3); // Utilisateur ID fictif
+ }
+
+ @Test
+ void testValidateurNotNull() {
+ // Vérifier si la page du validateur est bien créée
+ assertNotNull(validateur);
+ }
+
+ @Test
+ void testDemandeStatutModification() {
+ // Tester si le changement de statut d'une demande fonctionne correctement
+ // assertDoesNotThrow(() -> validateur.modifierStatutDemande(1, "validée")); // ID de la demande fictif
+ }
+}
diff --git a/src/test/java/database/DatabaseConnectionTest.java b/src/test/java/database/DatabaseConnectionTest.java
new file mode 100644
index 0000000..7c31420
--- /dev/null
+++ b/src/test/java/database/DatabaseConnectionTest.java
@@ -0,0 +1,32 @@
+package database;
+
+import org.junit.jupiter.api.Test;
+import java.sql.Connection;
+import java.sql.SQLException;
+import static org.junit.jupiter.api.Assertions.*;
+
+class DatabaseConnectionTest {
+
+ @Test
+ void testConnectionIsValid() {
+ // Test de base : la connexion ne doit pas être nulle
+ try {
+ Connection connection = DatabaseConnection.getConnection();
+ assertNotNull(connection, "La connexion ne doit pas être nulle");
+ } catch (SQLException e) {
+ fail("La connexion a échoué avec une exception : " + e.getMessage());
+ }
+ }
+
+ @Test
+ void testConnectionIsClosedAfterUse() {
+ // Test si la connexion est fermée correctement après utilisation
+
+ }
+
+ @Test
+ void testInvalidConnectionHandling() {
+ // Simule un scénario où la connexion échoue (par exemple, mauvaise configuration)
+
+ }
+}