avancée sur validateurtest
Esse commit está contido em:
pai
da39a3ae8d
commit
384ee81b51
1 arquivos alterados com 59 adições e 4 exclusões
|
@ -16,12 +16,13 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||||
class ValidateurTest {
|
class ValidateurTest {
|
||||||
|
|
||||||
private Validateur validateur;
|
private Validateur validateur;
|
||||||
private int utilisateurId = 1; // utilisateur arbitraire qui va créer les demandes de test
|
private int validateurID = 3; // utilisateur arbitraire qui va valider les demandes de test
|
||||||
|
private int utilisateurID = 1; // utilisateur arbitraire qui va créer les demandes de test
|
||||||
private int demandeID; //on crée manuellment une demande pour les tests (on la supprime après)
|
private int demandeID; //on crée manuellment une demande pour les tests (on la supprime après)
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
void setUp() {
|
||||||
validateur = new Validateur(utilisateurId);
|
validateur = new Validateur(validateurID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -31,7 +32,7 @@ class ValidateurTest {
|
||||||
String insertSQL = "INSERT INTO demandes_aide (statut, utilisateur_id, benevole_id, description) VALUES (?, ?, ?, ?)";
|
String insertSQL = "INSERT INTO demandes_aide (statut, utilisateur_id, benevole_id, description) VALUES (?, ?, ?, ?)";
|
||||||
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
||||||
insertStatement.setString(1, "soumise");
|
insertStatement.setString(1, "soumise");
|
||||||
insertStatement.setNull(2, utilisateurId);
|
insertStatement.setInt(2, utilisateurID);
|
||||||
insertStatement.setNull(3, java.sql.Types.INTEGER); // Aucun bénévole affecté initialement
|
insertStatement.setNull(3, java.sql.Types.INTEGER); // Aucun bénévole affecté initialement
|
||||||
insertStatement.setString(4, "Demande de test pour JUnit / Test validation");
|
insertStatement.setString(4, "Demande de test pour JUnit / Test validation");
|
||||||
insertStatement.executeUpdate();
|
insertStatement.executeUpdate();
|
||||||
|
@ -90,7 +91,7 @@ class ValidateurTest {
|
||||||
String insertSQL = "INSERT INTO demandes_aide (statut, utilisateur_id, benevole_id, description) VALUES (?, ?, ?, ?)";
|
String insertSQL = "INSERT INTO demandes_aide (statut, utilisateur_id, benevole_id, description) VALUES (?, ?, ?, ?)";
|
||||||
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
||||||
insertStatement.setString(1, "soumise");
|
insertStatement.setString(1, "soumise");
|
||||||
insertStatement.setInt(2, utilisateurId);
|
insertStatement.setInt(2, utilisateurID);
|
||||||
insertStatement.setNull(3, java.sql.Types.INTEGER); // Aucun bénévole affecté initialement
|
insertStatement.setNull(3, java.sql.Types.INTEGER); // Aucun bénévole affecté initialement
|
||||||
insertStatement.setString(4, "Demande de test pour JUnit / Test rejet");
|
insertStatement.setString(4, "Demande de test pour JUnit / Test rejet");
|
||||||
insertStatement.executeUpdate();
|
insertStatement.executeUpdate();
|
||||||
|
@ -142,4 +143,58 @@ class ValidateurTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testLoadDemandesEnAttente() {
|
||||||
|
try (Connection connection = DatabaseConnection.getConnection()) {
|
||||||
|
// Créer trois demandes tests
|
||||||
|
String desc1 = "Demande de test 1 pour JUnit / Test loadDemandesEnAttente";
|
||||||
|
String desc2 = "Demande de test 2 pour JUnit / Test loadDemandesEnAttente";
|
||||||
|
String desc3 = "Demande de test 3 pour JUnit / Test loadDemandesEnAttente";
|
||||||
|
|
||||||
|
// Insertion de la première demande
|
||||||
|
String insertSQL = "INSERT INTO demandes_aide (statut, utilisateur_id, benevole_id, description) VALUES (?, ?, ?, ?)";
|
||||||
|
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
||||||
|
insertStatement.setString(1, "soumise");
|
||||||
|
insertStatement.setInt(2, utilisateurID);
|
||||||
|
insertStatement.setNull(3, java.sql.Types.INTEGER); //pas de benevole attribué
|
||||||
|
insertStatement.setString(4, desc1);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
|
||||||
|
ResultSet generatedKeys = insertStatement.getGeneratedKeys();
|
||||||
|
if (generatedKeys.next()) {
|
||||||
|
demandeID = generatedKeys.getInt(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insertion des autres demandes
|
||||||
|
insertStatement.setString(4, desc2);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
insertStatement.setString(4, desc3);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
|
||||||
|
// Charger les demandes dans la table
|
||||||
|
Method loadDemandesEnAttenteMethod = Validateur.class.getDeclaredMethod("loadDemandesEnAttente");
|
||||||
|
loadDemandesEnAttenteMethod.setAccessible(true);
|
||||||
|
loadDemandesEnAttenteMethod.invoke(validateur);
|
||||||
|
|
||||||
|
// Vérifier que les descriptions sont bien chargées
|
||||||
|
int lastRow = validateur.getTable().getRowCount()-1;
|
||||||
|
String desc_actual = (String) validateur.getTableModel().getValueAt(lastRow-2, 1) +
|
||||||
|
(String) validateur.getTableModel().getValueAt(lastRow-1, 1) +
|
||||||
|
(String) validateur.getTableModel().getValueAt(lastRow, 1);
|
||||||
|
|
||||||
|
String desc_expected = desc1 + desc2 + desc3;
|
||||||
|
assertEquals(desc_expected, desc_actual, "Les descriptions doivent correspondre");
|
||||||
|
|
||||||
|
// Nettoyage des données de test
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
String deleteSQL = "DELETE FROM demandes_aide WHERE id = ?";
|
||||||
|
PreparedStatement deleteStatement = connection.prepareStatement(deleteSQL);
|
||||||
|
deleteStatement.setInt(1, demandeID + i);
|
||||||
|
deleteStatement.executeUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Carregando…
Referência em uma nova issue