merge de master et sprint2 04/11
這個提交存在於:
當前提交
383cd0c865
共有 13 個檔案被更改,包括 253 行新增 和 110 行删除
19
.classpath
19
.classpath
|
@ -26,7 +26,7 @@
|
|||
<attribute name="optional" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
|
@ -36,5 +36,22 @@
|
|||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" path="target/generated-sources/annotations">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="ignore_optional_problems" value="true"/>
|
||||
<attribute name="m2e-apt" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="ignore_optional_problems" value="true"/>
|
||||
<attribute name="m2e-apt" value="true"/>
|
||||
<attribute name="test" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
|
11
.project
11
.project
|
@ -20,4 +20,15 @@
|
|||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
<id>1730423778330</id>
|
||||
<name></name>
|
||||
<type>30</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.core.resources.regexFilterMatcher</id>
|
||||
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
</filteredResources>
|
||||
</projectDescription>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.apt.aptEnabled=false
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
|
||||
}
|
||||
}
|
載入中…
新增問題並參考