Merge pull request #18 from IUTInfoAix-R202-2022/app_test
Test unitaires se basant sur la fenêtre de résultats
This commit is contained in:
commit
6b6dd4e9fa
@ -10,7 +10,7 @@ import fr.univ_amu.iut.model.Usage;
|
||||
public class Donnees {
|
||||
private static Academie academieSelectionee = null;
|
||||
private static Thematique thematiqueSelectionee = null;
|
||||
private static Discipline disciplineSelectionee = Discipline.Toutes;
|
||||
private static Discipline disciplineSelectionee = null;
|
||||
private static List<Usage> usagesObtenus;
|
||||
|
||||
public static List<Usage> getUsagesObtenus() {
|
||||
@ -36,7 +36,7 @@ public class Donnees {
|
||||
if(thematiqueSelectionee == Donnees.thematiqueSelectionee){
|
||||
thematiqueSelectionee = null;
|
||||
}
|
||||
System.out.println("Thematique selectionée : %s".formatted((thematiqueSelectionee == null)? "Aucune Thematique" : thematiqueSelectionee.getNom()));
|
||||
System.out.println("Thematique selectionée : %s".formatted(thematiqueSelectionee));
|
||||
Donnees.thematiqueSelectionee = thematiqueSelectionee;
|
||||
}
|
||||
public static Discipline getDisciplineSelectionee() {
|
||||
@ -44,9 +44,9 @@ public class Donnees {
|
||||
}
|
||||
public static void setDisciplineSelectionee(Discipline disciplineSelectionee) {
|
||||
if(disciplineSelectionee == Donnees.disciplineSelectionee){
|
||||
disciplineSelectionee = Discipline.Toutes;
|
||||
disciplineSelectionee = null;
|
||||
}
|
||||
System.out.println("Discipline Selectionee : %s".formatted(disciplineSelectionee.getNom()));
|
||||
System.out.println("Discipline Selectionee : %s".formatted(disciplineSelectionee));
|
||||
Donnees.disciplineSelectionee = disciplineSelectionee;
|
||||
}
|
||||
|
||||
|
@ -8,12 +8,15 @@ public class TableEntry {
|
||||
|
||||
private String nom;
|
||||
private String discipline;
|
||||
private String thematique;
|
||||
private String description;
|
||||
private String niveau;
|
||||
|
||||
public TableEntry(Usage usage) {
|
||||
nom = usage.getNom();
|
||||
thematique = usage.getThematique().getNom();
|
||||
discipline = usage.getDiscipline().getNom();
|
||||
System.out.println("DESC="+usage.getDescription());
|
||||
description = usage.getDescription();
|
||||
niveau = usage.getNiveau().getNom();
|
||||
}
|
||||
@ -34,6 +37,15 @@ public class TableEntry {
|
||||
this.discipline = discipline;
|
||||
}
|
||||
|
||||
|
||||
public String getThematique() {
|
||||
return thematique;
|
||||
}
|
||||
|
||||
public void setThematique(String thematique) {
|
||||
this.thematique = thematique;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
@ -51,4 +63,36 @@ public class TableEntry {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
TableEntry that = (TableEntry) o;
|
||||
|
||||
if (nom != null ? !nom.equals(that.nom) : that.nom != null) return false;
|
||||
if (discipline != null ? !discipline.equals(that.discipline) : that.discipline != null) return false;
|
||||
if (description != null ? !description.equals(that.description) : that.description != null) return false;
|
||||
return niveau != null ? niveau.equals(that.niveau) : that.niveau == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = nom != null ? nom.hashCode() : 0;
|
||||
result = 31 * result + (discipline != null ? discipline.hashCode() : 0);
|
||||
result = 31 * result + (description != null ? description.hashCode() : 0);
|
||||
result = 31 * result + (niveau != null ? niveau.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TableEntry{" +
|
||||
"nom='" + nom + '\'' +
|
||||
", discipline='" + discipline + '\'' +
|
||||
", description='" + description + '\'' +
|
||||
", niveau='" + niveau + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,8 @@ public class Controller implements Initializable {
|
||||
DAOThematique daoThematique;
|
||||
DAOUsage daoUsage;
|
||||
|
||||
Stage lastResultSceneOpened;
|
||||
|
||||
@FXML
|
||||
private Pane stackPaneFrance;
|
||||
|
||||
@ -205,6 +207,7 @@ public class Controller implements Initializable {
|
||||
try {
|
||||
resultats.setScene(new Scene(FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fResultat/FResultat.fxml"))));
|
||||
resultats.show();
|
||||
lastResultSceneOpened = resultats;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -15,9 +15,7 @@ public class Discipline implements Serializable {
|
||||
|
||||
private static final List<Discipline> INSTANCES = new ArrayList<>();
|
||||
|
||||
|
||||
public static Discipline Toutes = new Discipline("Toutes disciplines");
|
||||
|
||||
|
||||
public static Discipline HistoireGeographie = new Discipline("Histoire-géographie");
|
||||
|
||||
public static Discipline PhysiqueChimie = new Discipline("Physique-chimie");
|
||||
|
@ -21,14 +21,24 @@ public class DAOUsageTest implements DAOUsage{
|
||||
@Override
|
||||
public List<Usage> findAll() {
|
||||
List<Usage> usages = new ArrayList<>();
|
||||
for( int i = 0; i < 69 ; i++){
|
||||
for( int i = 0; i < 42 ; i++){
|
||||
Usage tmp = new Usage();
|
||||
tmp.setNom(String.valueOf(i));
|
||||
tmp.setNom("Usage n°"+ i);
|
||||
tmp.setDiscipline(Discipline.Technologie);
|
||||
tmp.setThematique(Thematique.CreationNumerique);
|
||||
tmp.setNiveau(Niveau.Tous);
|
||||
tmp.setDescription("je suis un commentaire tres long mais surtout tres utile, je sert a tester l'interface graphique et la mettre au bout de ses limtes");
|
||||
tmp.setDescription("je suis un commentaire tres long mais surtout tres utile, je sert a tester l'interface graphique et la mettre au bout de ses limites");
|
||||
usages.add(tmp);
|
||||
}
|
||||
|
||||
Usage tmp = new Usage();
|
||||
tmp.setNom("Usage spécial 1");
|
||||
tmp.setDiscipline(Discipline.PhysiqueChimie);
|
||||
tmp.setThematique(Thematique.ClasseInversee);
|
||||
tmp.setNiveau(Niveau.PremierDegre);
|
||||
tmp.setDescription("Un usage très simple, pour un test de recherche");
|
||||
usages.add(tmp);
|
||||
|
||||
return usages;
|
||||
}
|
||||
|
||||
@ -52,8 +62,15 @@ public class DAOUsageTest implements DAOUsage{
|
||||
|
||||
@Override
|
||||
public List<Usage> findByCriterias(Thematique thematique, Discipline discipline, Academie academie) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
List<Usage> list = new ArrayList<>();
|
||||
for(Usage usage : findAll()){
|
||||
if((thematique==null||thematique==usage.getThematique())&&
|
||||
(discipline==null||discipline==usage.getDiscipline())&&
|
||||
(academie==null||academie==usage.getAcademie())){
|
||||
list.add(usage);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,11 +1,16 @@
|
||||
package fr.univ_amu.iut;
|
||||
|
||||
import fr.univ_amu.iut.fResultat.TableEntry;
|
||||
import fr.univ_amu.iut.model.Discipline;
|
||||
import fr.univ_amu.iut.model.Niveau;
|
||||
import fr.univ_amu.iut.model.Thematique;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.layout.Pane;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.Window;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@ -69,7 +74,39 @@ public class AppTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_recherche(FxRobot robot) {
|
||||
void search_should_open_window(FxRobot robot) {
|
||||
Pane disciplinesPane = (Pane) stage.getScene().lookup("#discipline");
|
||||
Pane thematiquesPane = (Pane) stage.getScene().lookup("#thematique");
|
||||
Node recherche = stage.getScene().lookup("#recherche");
|
||||
|
||||
robot.clickOn(disciplinesPane.getChildren().get(1));
|
||||
robot.clickOn(thematiquesPane.getChildren().get(0));
|
||||
|
||||
|
||||
int windowsCount = Stage.getWindows().size();
|
||||
robot.clickOn(recherche);
|
||||
assertThat(Stage.getWindows().size()).isEqualTo(windowsCount+1);
|
||||
}
|
||||
@Test
|
||||
void search_window_should_have_1_result(FxRobot robot) {
|
||||
Pane disciplinesPane = (Pane) stage.getScene().lookup("#discipline");
|
||||
Pane thematiquesPane = (Pane) stage.getScene().lookup("#thematique");
|
||||
Node recherche = stage.getScene().lookup("#recherche");
|
||||
|
||||
robot.clickOn(disciplinesPane.getChildren().get(1));
|
||||
robot.clickOn(thematiquesPane.getChildren().get(0));
|
||||
|
||||
|
||||
int windowsCount = Stage.getWindows().size();
|
||||
robot.clickOn(recherche);
|
||||
|
||||
Scene resultScene = Stage.getWindows().get(windowsCount).getScene();
|
||||
TableView<?> table = (TableView<?>) resultScene.lookup("#table");
|
||||
assertThat(table.getItems().size()).isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
void search_window_result_should_be_shown(FxRobot robot) {
|
||||
Pane disciplinesPane = (Pane) stage.getScene().lookup("#discipline");
|
||||
Pane thematiquesPane = (Pane) stage.getScene().lookup("#thematique");
|
||||
Node recherche = stage.getScene().lookup("#recherche");
|
||||
@ -78,6 +115,16 @@ public class AppTest {
|
||||
robot.clickOn(thematiquesPane.getChildren().get(0));
|
||||
|
||||
robot.clickOn(recherche);
|
||||
|
||||
Scene resultScene = Stage.getWindows().get(1).getScene();
|
||||
TableView<TableEntry> table = (TableView<TableEntry>) resultScene.lookup("#table");
|
||||
TableEntry entry = table.getItems().get(0);
|
||||
|
||||
assertThat(entry.getNom()).isEqualTo("Usage spécial 1");
|
||||
assertThat(entry.getDescription()).isEqualTo("Un usage très simple, pour un test de recherche");
|
||||
assertThat(entry.getDiscipline()).isEqualTo(Discipline.PhysiqueChimie.getNom());
|
||||
assertThat(entry.getThematique()).isEqualTo(Thematique.ClasseInversee.getNom());
|
||||
assertThat(entry.getNiveau()).isEqualTo(Niveau.PremierDegre.getNom());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user