This commit is contained in:
parent
8478672054
commit
151449587f
1 changed files with 60 additions and 0 deletions
|
@ -134,4 +134,64 @@ class BenevoleDemandesFinaliseesPageTest {
|
|||
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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue