Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 207 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
139 delphine 1
<?php
1141 raphael 2
require_once __DIR__ . '/../ConsultationEflorePhpUnit.php';
139 delphine 3
 
4
class RechercheTest extends ConsultationEflorePhpUnit {
5
 
1141 raphael 6
	/**
7
	 * @backupGlobals # avoid $_REQUEST leaks
8
	 */
139 delphine 9
	public function testExecuterRechercheSimple() {
1141 raphael 10
		$_REQUEST['type_nom'] = 'nom_scientifique';
11
		$_REQUEST['nom'] = 'acer mons';
167 jpm 12
 
1141 raphael 13
		Registre::set('parametres.niveau', '1');
14
		$cheminRacine = realpath(__DIR__ . '/../../configurations/').'/';
139 delphine 15
		Config::charger($cheminRacine.'bdtfx.ini');
16
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
17
		Registre::set('parametres.referentiel', 'bdtfx');
167 jpm 18
 
139 delphine 19
		$recherche = new Recherche();
20
		$recherche->initialiser();
21
		$recherche->executerRechercheSimple();
167 jpm 22
 
139 delphine 23
		$resultat = Registre::get('resultats');
1141 raphael 24
 
139 delphine 25
		$sortie = implode('', $recherche->getSortie());
1141 raphael 26
		$this->assertNotEmpty($resultat);
139 delphine 27
		$this->assertEquals('6', $resultat['entete']['total']);
28
		$this->assertEquals('6', count($resultat['resultat']));
167 jpm 29
		$this->assertArrayNotHasKey('auteur', $resultat['resultat']['182'], print_r($resultat, true));
1141 raphael 30
		$this->assertNotEmpty($sortie);
31
		$this->assertContains('<input id="nom" name="nom" class="champ" size="30" maxlength="255" type="text" value="acer mons" />', $sortie);
167 jpm 32
		$this->assertContains('<strong class="nom-sci-retenu"><span class="surlignage">Acer</span> <span class="surlignage">mons</span>pessulanum</strong>', $sortie);
139 delphine 33
	}
1141 raphael 34
 
35
	/**
36
	 * @backupGlobals # avoid $_REQUEST leaks
37
	 */
169 delphine 38
	public function testExecuterRechercheSimpleAlphab() {
1141 raphael 39
		$_REQUEST['type_nom'] = 'nom_scientifique';
40
		$_REQUEST['nom'] = 'acer mons';
41
		$_REQUEST['resultat'] = 'alphab';
42
 
43
		$cheminRacine = realpath(__DIR__ . '/../../configurations/') . '/';
169 delphine 44
		Config::charger($cheminRacine.'bdtfx.ini');
45
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
46
		Registre::set('parametres.referentiel', 'bdtfx');
1141 raphael 47
 
48
		// initialise les valeurs par défaut (notamment de "niveau")
49
		AppControleur::verifierCreationInstance();
50
		// initialise le registre à partir des valeurs par défaut
51
		AppControleur::initialiserRegistre();
52
		// à partir de là, par exemple Registre::get('parametres.niveau') doit retourner un entier
53
		// (alternative à Registre::set('niveau', 'X'))
54
 
55
		// et la recherche ne risque plus de manquer des paramètres nécessaires
169 delphine 56
		$recherche = new Recherche();
57
		$recherche->initialiser();
58
		$recherche->executerRechercheSimple();
59
 
60
		$resultat = Registre::get('resultats');
61
		$sortie = implode('', $recherche->getSortie());
1141 raphael 62
		$this->assertNotEmpty($resultat, $resultat);
169 delphine 63
		$this->assertEquals('6', $resultat['entete']['total']);
64
		$this->assertEquals('6', count($resultat['resultat']));
65
	}
66
 
1141 raphael 67
	/**
68
	 * @backupGlobals # avoid $_REQUEST leaks
69
	 */
169 delphine 70
	public function testExecuterRechercheSimpleRetenu() {
1141 raphael 71
		$_REQUEST['type_nom'] = 'nom_scientifique';
72
		$_REQUEST['nom'] = 'acer mons';
73
		$_REQUEST['resultat'] = 'retenu';
74
		$_REQUEST['niveau'] = 2;
75
 
76
		Registre::set('parametres.niveau', '2');
77
		$cheminRacine = realpath(__DIR__ . '/../../configurations/').'/';
169 delphine 78
		Config::charger($cheminRacine.'bdtfx.ini');
79
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
80
		Registre::set('parametres.referentiel', 'bdtfx');
1141 raphael 81
 
169 delphine 82
		$recherche = new Recherche();
83
		$recherche->initialiser();
84
		$recherche->executerRechercheSimple();
85
 
86
		$resultat = Registre::get('resultats');
87
		$sortie = implode('', $recherche->getSortie());
1141 raphael 88
		$this->assertNotEmpty($resultat);
169 delphine 89
		$this->assertEquals('6', $resultat['entete']['total']);
90
		$this->assertEquals('6', count($resultat['resultat']));
91
	}
1141 raphael 92
 
93
	/**
94
	 * @backupGlobals # avoid $_REQUEST leaks
95
	 */
169 delphine 96
	public function testExecuterRechercheSimpleSynonyme() {
1141 raphael 97
		$_REQUEST['type_nom'] = 'nom_scientifique';
98
		$_REQUEST['nom'] = 'acer mons';
99
		$_REQUEST['resultat'] = 'retenu';
100
 
101
		Registre::set('parametres.niveau', '2');
102
		$cheminRacine = realpath(__DIR__ . '/../../configurations/').'/';
169 delphine 103
		Config::charger($cheminRacine.'bdtfx.ini');
104
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
105
		Registre::set('parametres.referentiel', 'bdtfx');
106
 
107
		$recherche = new Recherche();
108
		$recherche->initialiser();
109
		$recherche->executerRechercheSimple();
110
 
111
		$resultat = Registre::get('resultats');
112
		$sortie = implode('', $recherche->getSortie());
1141 raphael 113
		$this->assertNotEmpty($resultat);
169 delphine 114
		$this->assertEquals('6', $resultat['entete']['total']);
115
		$this->assertEquals('6', count($resultat['resultat']));
116
	}
139 delphine 117
}
118
?>