This commit is contained in:
commit
4db3e99206
3 changed files with 126 additions and 0 deletions
Binary file not shown.
|
@ -134,4 +134,64 @@ class BenevoleDemandesFinaliseesPageTest {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAfficherAvis() {
|
||||||
|
try (Connection connection = DatabaseConnection.getConnection()) {
|
||||||
|
// Créer une demande finalisée avec des avis
|
||||||
|
String description = "Demande test pour affichage des avis";
|
||||||
|
String avisBenevole = "Avis du bénévole test";
|
||||||
|
String avisBesoin = "Avis de la personne test";
|
||||||
|
|
||||||
|
String insertSQL = "INSERT INTO demandes_aide (statut, utilisateur_id, benevole_id, description, avis_benevole, avis_besoin) VALUES (?, ?, ?, ?, ?, ?)";
|
||||||
|
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
||||||
|
insertStatement.setString(1, "finalisée");
|
||||||
|
insertStatement.setInt(2, utilisateurID);
|
||||||
|
insertStatement.setInt(3, benevoleID);
|
||||||
|
insertStatement.setString(4, description);
|
||||||
|
insertStatement.setString(5, avisBenevole);
|
||||||
|
insertStatement.setString(6, avisBesoin);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
|
||||||
|
// Récupérer l'ID de la demande créée
|
||||||
|
ResultSet generatedKeys = insertStatement.getGeneratedKeys();
|
||||||
|
if (generatedKeys.next()) {
|
||||||
|
demandeID = generatedKeys.getInt(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Charger la demande dans la table
|
||||||
|
Method loadDemandesFinaliseesMethod = BenevoleDemandesFinaliseesPage.class.getDeclaredMethod("loadDemandesFinalisees");
|
||||||
|
loadDemandesFinaliseesMethod.setAccessible(true);
|
||||||
|
loadDemandesFinaliseesMethod.invoke(page);
|
||||||
|
|
||||||
|
// Sélectionner la demande
|
||||||
|
int lastRow = page.getTable().getRowCount() - 1;
|
||||||
|
page.getTable().setRowSelectionInterval(lastRow, lastRow);
|
||||||
|
|
||||||
|
// Exécuter l'affichage des avis
|
||||||
|
Method afficherAvisMethod = BenevoleDemandesFinaliseesPage.class.getDeclaredMethod("afficherAvis");
|
||||||
|
afficherAvisMethod.setAccessible(true);
|
||||||
|
afficherAvisMethod.invoke(page);
|
||||||
|
|
||||||
|
// Vérifier que les avis sont corrects dans la base de données
|
||||||
|
String checkSQL = "SELECT avis_benevole, avis_besoin, description FROM demandes_aide WHERE id = ?";
|
||||||
|
PreparedStatement checkStatement = connection.prepareStatement(checkSQL);
|
||||||
|
checkStatement.setInt(1, demandeID);
|
||||||
|
ResultSet resultSet = checkStatement.executeQuery();
|
||||||
|
|
||||||
|
assertTrue(resultSet.next(), "La demande doit exister");
|
||||||
|
assertEquals(avisBenevole, resultSet.getString("avis_benevole"), "TEST L'avis du bénévole doit correspondre");
|
||||||
|
assertEquals(avisBesoin, resultSet.getString("avis_besoin"), "TEST L'avis de la personne doit correspondre");
|
||||||
|
assertEquals(description, resultSet.getString("description"), "TEST La description doit correspondre");
|
||||||
|
|
||||||
|
// Nettoyage
|
||||||
|
String deleteSQL = "DELETE FROM demandes_aide WHERE id = ?";
|
||||||
|
PreparedStatement deleteStatement = connection.prepareStatement(deleteSQL);
|
||||||
|
deleteStatement.setInt(1, demandeID);
|
||||||
|
deleteStatement.executeUpdate();
|
||||||
|
|
||||||
|
} catch (SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -129,5 +129,71 @@ class BenevoleDemandesPageTest {
|
||||||
int rowCountAfter = benevoleDemandesPage.getTableModel().getRowCount();
|
int rowCountAfter = benevoleDemandesPage.getTableModel().getRowCount();
|
||||||
assertEquals(rowCountBefore, rowCountAfter, "La table ne doit pas être modifiée si aucune demande n'est sélectionnée.");
|
assertEquals(rowCountBefore, rowCountAfter, "La table ne doit pas être modifiée si aucune demande n'est sélectionnée.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testLoadDemandesAcceptees() {
|
||||||
|
try (Connection connection = DatabaseConnection.getConnection()) {
|
||||||
|
//commit test
|
||||||
|
// Créer trois demandes tests avec le statut 'acceptée'
|
||||||
|
String desc1 = "Demande 1 test pour JUnit / Test loadDemandesAcceptees";
|
||||||
|
String desc2 = "Demande 2 test pour JUnit / Test loadDemandesAcceptees";
|
||||||
|
String desc3 = "Demande 3 test pour JUnit / Test loadDemandesAcceptees";
|
||||||
|
|
||||||
|
// Création des demandes tests
|
||||||
|
String insertSQL = "INSERT INTO demandes_aide (statut, description) VALUES (?, ?)";
|
||||||
|
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
|
||||||
|
|
||||||
|
// Première demande
|
||||||
|
insertStatement.setString(1, "acceptée");
|
||||||
|
insertStatement.setString(2, desc1);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
|
||||||
|
// Récupérer l'ID de la première demande
|
||||||
|
ResultSet generatedKeys = insertStatement.getGeneratedKeys();
|
||||||
|
if (generatedKeys.next()) {
|
||||||
|
demandeID = generatedKeys.getInt(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deuxième et troisième demandes
|
||||||
|
insertStatement.setString(2, desc2);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
insertStatement.setString(2, desc3);
|
||||||
|
insertStatement.executeUpdate();
|
||||||
|
|
||||||
|
// Charger les demandes dans la table
|
||||||
|
Method loadDemandesAccepteesMethod = BenevoleDemandesPage.class.getDeclaredMethod("loadDemandesAcceptees");
|
||||||
|
loadDemandesAccepteesMethod.setAccessible(true);
|
||||||
|
loadDemandesAccepteesMethod.invoke(benevoleDemandesPage);
|
||||||
|
|
||||||
|
// Vérifier que les descriptions sont bien chargées
|
||||||
|
int lastRow = benevoleDemandesPage.getTable().getRowCount() - 1;
|
||||||
|
|
||||||
|
// Vérifier que les trois dernières lignes correspondent à nos demandes de test
|
||||||
|
String desc_actual = (String) benevoleDemandesPage.getTableModel().getValueAt(lastRow-2, 1) +
|
||||||
|
(String) benevoleDemandesPage.getTableModel().getValueAt(lastRow-1, 1) +
|
||||||
|
(String) benevoleDemandesPage.getTableModel().getValueAt(lastRow, 1);
|
||||||
|
|
||||||
|
String desc_expected = desc1 + desc2 + desc3;
|
||||||
|
assertEquals(desc_expected, desc_actual, "Les descriptions doivent correspondre");
|
||||||
|
|
||||||
|
// Vérifier que le statut est 'acceptée' pour chaque demande
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
String status = (String) benevoleDemandesPage.getTableModel().getValueAt(lastRow-i, 2);
|
||||||
|
assertEquals("acceptée", status, "Le statut doit être 'acceptée'");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue