Rev 585 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.test.composants.moteurrecherche;import static org.junit.Assert.*;import org.junit.Before;import org.junit.Test;import org.mockito.Mockito;import org.tela_botanica.del.client.cache.CacheClient;import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur.TypeMoteur;import org.tela_botanica.del.client.config.Config;import org.tela_botanica.del.client.modeles.ModeRecherche;import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;import com.google.gwt.http.client.Response;import com.google.gwt.user.client.ui.HasWidgets;public class MoteurRecherchePresenteurTest {MoteurRecherchePresenteur presenteurRechercheObservation;MoteurRecherchePresenteur.Vue vueRechercheObservation;AutoCompletionComboBoxPresenteur presenteurAutoCompletionTaxonsObservation;AutoCompletionComboBoxPresenteur.Vue vueAutoCompletionTaxonsObservation;HasWidgets container;MoteurRecherchePresenteur presenteurRechercheImage;MoteurRecherchePresenteur.Vue vueRechercheImage;AutoCompletionComboBoxPresenteur presenteurAutoCompletionTaxonsImage;AutoCompletionComboBoxPresenteur.Vue vueAutoCompletionImage;AutoCompletionComboBoxPresenteur presenteurAutoCompletionCommunesImage;AutoCompletionComboBoxPresenteur.Vue vueAutoCompletionCommunesImage;AutoCompletionComboBoxPresenteur presenteurAutoCompletionCommunesObservation;AutoCompletionComboBoxPresenteur.Vue vueAutoCompletionCommunesObservation;Config config;boolean rechercheObservationEffectuee = false;boolean rechercheImageEffectuee = false;private static String NOM_SCI_COMPLETION_SERVICE = "URL_FACTICE";@Beforepublic void setUp() {vueRechercheObservation = Mockito.mock(MoteurRecherchePresenteur.Vue.class, Mockito.RETURNS_MOCKS);vueAutoCompletionTaxonsObservation = Mockito.mock(AutoCompletionComboBoxPresenteur.Vue.class, Mockito.RETURNS_MOCKS);container = Mockito.mock(HasWidgets.class, Mockito.RETURNS_MOCKS);presenteurAutoCompletionTaxonsObservation = new AutoCompletionComboBoxPresenteur(vueAutoCompletionTaxonsObservation, NOM_SCI_COMPLETION_SERVICE) {@Overrideprotected String[] parserResultatRequete(Response response) {// TODO Auto-generated method stubreturn null;}};vueAutoCompletionCommunesObservation = Mockito.mock(AutoCompletionComboBoxPresenteur.Vue.class, Mockito.RETURNS_MOCKS);presenteurAutoCompletionCommunesObservation = new AutoCompletionComboBoxPresenteur(vueAutoCompletionCommunesObservation, NOM_SCI_COMPLETION_SERVICE) {protected String effectuerPreTraitementChaineRequete(String requete) {return requete;}@Overrideprotected void surSelectionSuggestion(String suggestion) {String[] tableauCommuneDpt = suggestion.split(" ");if (tableauCommuneDpt.length == 2) {setValeur(tableauCommuneDpt[0]);}}@Overrideprotected String[] parserResultatRequete(Response response) {return UtilitairesAutoCompletionService.parserRetourSimple(response);}};this.config = Mockito.mock(Config.class, Mockito.RETURNS_MOCKS);Mockito.when(config.getUrl("nomSciCompletionService")).thenReturn(NOM_SCI_COMPLETION_SERVICE);presenteurRechercheObservation = new MoteurRecherchePresenteur(presenteurAutoCompletionTaxonsObservation,presenteurAutoCompletionCommunesObservation,vueRechercheObservation,ModeRecherche.MODE_OBSERVATION,config) {public void lancerRecherche() {chercher();}};vueRechercheImage = Mockito.mock(MoteurRecherchePresenteur.Vue.class, Mockito.RETURNS_MOCKS);vueAutoCompletionImage = Mockito.mock(AutoCompletionComboBoxPresenteur.Vue.class ,Mockito.RETURNS_MOCKS);presenteurAutoCompletionTaxonsImage = new AutoCompletionComboBoxPresenteur(vueAutoCompletionImage, NOM_SCI_COMPLETION_SERVICE) {@Overrideprotected String[] parserResultatRequete(Response response) {// TODO Auto-generated method stubreturn null;}};vueAutoCompletionCommunesImage = Mockito.mock(AutoCompletionComboBoxPresenteur.Vue.class ,Mockito.RETURNS_MOCKS);presenteurAutoCompletionCommunesImage = new AutoCompletionComboBoxPresenteur(vueAutoCompletionCommunesImage, NOM_SCI_COMPLETION_SERVICE) {protected String effectuerPreTraitementChaineRequete(String requete) {return requete;}@Overrideprotected void surSelectionSuggestion(String suggestion) {String[] tableauCommuneDpt = suggestion.split(" ");if(tableauCommuneDpt.length == 2) {setValeur(tableauCommuneDpt[0]);}}@Overrideprotected String[] parserResultatRequete(Response response) {return UtilitairesAutoCompletionService.parserRetourSimple(response);}};presenteurRechercheImage = new MoteurRecherchePresenteur(presenteurAutoCompletionTaxonsImage,presenteurAutoCompletionCommunesImage,vueRechercheImage,ModeRecherche.MODE_IMAGE,config) {public void lancerRecherche() {chercher();}};}private void chercher() {rechercheObservationEffectuee = true;rechercheImageEffectuee = true;}//+------------------------------------------------------------------------------------------------------+// OBSERVATIONS@Testpublic void testTypeMoteurParDefautEstSimpleObs() {assertEquals(TypeMoteur.SIMPLE, presenteurRechercheObservation.getTypeMoteur());}@Testpublic void testModeRecherche() {assertEquals(ModeRecherche.MODE_IMAGE, presenteurRechercheImage.getMode());assertEquals(ModeRecherche.MODE_OBSERVATION, presenteurRechercheObservation.getMode());}@Testpublic void testObsRechercheSimpleNeRetournePasLesChampsAvancee() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getValeurRechercheSimple()).thenReturn("Essai");Mockito.when(vueRechercheObservation.getContientMots()).thenReturn("");Mockito.when(presenteurAutoCompletionTaxonsObservation.getValeur()).thenReturn("Acer monsp.");Mockito.when(vueRechercheObservation.getDepartement()).thenReturn("34");Mockito.when(vueRechercheObservation.getGenre()).thenReturn("Acer");Mockito.when(vueRechercheObservation.getMotCle()).thenReturn("Fruit, fleur, feuille");Mockito.when(vueRechercheObservation.getDate()).thenReturn("10/02/2004");Mockito.when(presenteurAutoCompletionCommunesObservation.getValeur()).thenReturn("Montpellier");Mockito.when(vueRechercheObservation.getFamille()).thenReturn("Asteracae");Mockito.when(vueRechercheObservation.getMotCle()).thenReturn("fleur, tige, épine");Mockito.when(vueRechercheObservation.getAuteur()).thenReturn("Hubert de Linné");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.SIMPLE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Essai", CacheClient.getInstance().getInformationsRechercheObservation().getRechercheLibre());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getTaxon());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getDepartement());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getGenre());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getMotClef());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getDate());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getCommune());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getFamille());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getMotClef());assertEquals(null, CacheClient.getInstance().getInformationsRechercheObservation().getAuteur());}@Testpublic void testObsRechercheAvanceeUtiliseChampContientMots() {Mockito.when(vueRechercheObservation.getValeurRechercheSimple()).thenReturn("Simple");Mockito.when(vueRechercheObservation.getContientMots()).thenReturn("Avancee");Mockito.when(vueRechercheObservation.getGenre()).thenReturn("Acer");presenteurRechercheObservation.go(container);presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Avancee", CacheClient.getInstance().getInformationsRechercheObservation().getRechercheLibre());assertEquals("Acer", CacheClient.getInstance().getInformationsRechercheObservation().getGenre());}@Testpublic void testLancerRechercheLibreObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getValeurRechercheSimple()).thenReturn("Essai");presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Essai", CacheClient.getInstance().getInformationsRechercheObservation().getRechercheLibre());}@Testpublic void testLancerRechercheDepartementObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getDepartement()).thenReturn("34");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("34", CacheClient.getInstance().getInformationsRechercheObservation().getDepartement());}@Testpublic void testLancerRechercheTaxonObs() {presenteurRechercheObservation.go(container);Mockito.when(presenteurAutoCompletionTaxonsObservation.getValeur()).thenReturn("Acer monsp.");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Acer monsp.", CacheClient.getInstance().getInformationsRechercheObservation().getTaxon());}@Testpublic void testLancerRechercheGenreObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getGenre()).thenReturn("Acer");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Acer", CacheClient.getInstance().getInformationsRechercheObservation().getGenre());}@Testpublic void testLancerRechercheMotCleObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getMotCle()).thenReturn("Fruit, fleur, feuille");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Fruit, fleur, feuille", CacheClient.getInstance().getInformationsRechercheObservation().getMotClef());}@Testpublic void testLancerRechercheDateObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getDate()).thenReturn("10/02/2004");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("10/02/2004", CacheClient.getInstance().getInformationsRechercheObservation().getDate());}@Testpublic void testLancerRechercheCommuneObs() {presenteurRechercheObservation.go(container);Mockito.when(presenteurAutoCompletionCommunesObservation.getValeur()).thenReturn("Montpellier");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Montpellier", CacheClient.getInstance().getInformationsRechercheObservation().getCommune());}@Testpublic void testLancerRechercheFamilleObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getFamille()).thenReturn("Asteracae");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Asteracae", CacheClient.getInstance().getInformationsRechercheObservation().getFamille());}@Testpublic void testLancerRechercheTagObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getMotCle()).thenReturn("fleur, tige, épine");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("fleur, tige, épine", CacheClient.getInstance().getInformationsRechercheObservation().getMotClef());}@Testpublic void testLancerRechercheAuteurObs() {presenteurRechercheObservation.go(container);Mockito.when(vueRechercheObservation.getAuteur()).thenReturn("Hubert de Linné");presenteurRechercheObservation.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheObservation.collecterInfosRecherche();presenteurRechercheObservation.afficherRequeteEtLancerRecherche();assertTrue(rechercheObservationEffectuee);assertEquals("Hubert de Linné", CacheClient.getInstance().getInformationsRechercheObservation().getAuteur());}//+------------------------------------------------------------------------------------------------------+// IMAGES@Testpublic void testTypeMoteurParDefautEstSimpleImage() {assertEquals(TypeMoteur.SIMPLE, presenteurRechercheImage.getTypeMoteur());}@Testpublic void testLancerRechercheLibreImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getValeurRechercheSimple()).thenReturn("Essai");presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Essai", CacheClient.getInstance().getInformationsRechercheImage().getRechercheLibre());}@Testpublic void testImageLancerRechercheSimpleNeRetournePasLesChampsAvancee() {Mockito.when(vueRechercheImage.getValeurRechercheSimple()).thenReturn("Essai");Mockito.when(presenteurAutoCompletionCommunesImage.getValeur()).thenReturn("Acer monsp.");Mockito.when(vueRechercheImage.getDepartement()).thenReturn("34");Mockito.when(vueRechercheImage.getGenre()).thenReturn("Acer");Mockito.when(vueRechercheImage.getMotCle()).thenReturn("Fruit, fleur, feuille");Mockito.when(vueRechercheImage.getDate()).thenReturn("10/02/2004");Mockito.when(presenteurAutoCompletionCommunesImage.getValeur()).thenReturn("Montpellier");Mockito.when(vueRechercheImage.getFamille()).thenReturn("Asteracae");Mockito.when(vueRechercheImage.getMotCle()).thenReturn("fleur, tige, épine");Mockito.when(vueRechercheImage.getAuteur()).thenReturn("Hubert de Linné");presenteurRechercheImage.go(container);presenteurRechercheImage.setTypeMoteur(TypeMoteur.SIMPLE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Essai", CacheClient.getInstance().getInformationsRechercheImage().getRechercheLibre());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getTaxon());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getDepartement());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getGenre());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getMotClef());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getDate());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getCommune());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getFamille());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getMotClef());assertEquals(null, CacheClient.getInstance().getInformationsRechercheImage().getAuteur());}@Testpublic void testImageRechercheAvanceeUtiliseChampContientMots() {Mockito.when(vueRechercheImage.getValeurRechercheSimple()).thenReturn("Simple");Mockito.when(vueRechercheImage.getContientMots()).thenReturn("Avancee");Mockito.when(vueRechercheImage.getGenre()).thenReturn("Acer");presenteurRechercheImage.go(container);presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Avancee", CacheClient.getInstance().getInformationsRechercheImage().getRechercheLibre());assertEquals("Acer", CacheClient.getInstance().getInformationsRechercheImage().getGenre());}@Testpublic void testLancerRechercheDepartementImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getDepartement()).thenReturn("34");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("34", CacheClient.getInstance().getInformationsRechercheImage().getDepartement());}@Testpublic void testLancerRechercheTaxonImage() {presenteurRechercheImage.go(container);Mockito.when(presenteurAutoCompletionTaxonsImage.getValeur()).thenReturn("Acer monsp.");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Acer monsp.", CacheClient.getInstance().getInformationsRechercheImage().getTaxon());}@Testpublic void testLancerRechercheGenreImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getGenre()).thenReturn("Acer");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Acer", CacheClient.getInstance().getInformationsRechercheImage().getGenre());}@Testpublic void testLancerRechercheMotCleImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getMotCle()).thenReturn("Fruit, fleur, feuille");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Fruit, fleur, feuille", CacheClient.getInstance().getInformationsRechercheImage().getMotClef());}@Testpublic void testLancerRechercheDateImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getDate()).thenReturn("10/02/2004");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("10/02/2004", CacheClient.getInstance().getInformationsRechercheImage().getDate());}@Testpublic void testLancerRechercheCommuneImage() {presenteurRechercheImage.go(container);Mockito.when(presenteurAutoCompletionCommunesImage.getValeur()).thenReturn("Montpellier");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Montpellier", CacheClient.getInstance().getInformationsRechercheImage().getCommune());}@Testpublic void testLancerRechercheFamilleImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getFamille()).thenReturn("Asteracae");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Asteracae", CacheClient.getInstance().getInformationsRechercheImage().getFamille());}@Testpublic void testLancerRechercheTagImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getMotCle()).thenReturn("fleur, tige, épine");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("fleur, tige, épine", CacheClient.getInstance().getInformationsRechercheImage().getMotClef());}@Testpublic void testLancerRechercheAuteurImage() {presenteurRechercheImage.go(container);Mockito.when(vueRechercheImage.getAuteur()).thenReturn("Hubert de Linné");presenteurRechercheImage.setTypeMoteur(TypeMoteur.AVANCEE);presenteurRechercheImage.collecterInfosRecherche();presenteurRechercheImage.afficherRequeteEtLancerRecherche();assertTrue(rechercheImageEffectuee);assertEquals("Hubert de Linné", CacheClient.getInstance().getInformationsRechercheImage().getAuteur());}}