Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 207 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 207 Rev 1141
1
<?php
1
<?php
2
require_once dirname(__FILE__).'/../ConsultationEflorePhpUnit.php';
2
require_once __DIR__ . '/../ConsultationEflorePhpUnit.php';
3
 
3
 
4
class RechercheTest extends ConsultationEflorePhpUnit {
4
class RechercheTest extends ConsultationEflorePhpUnit {
-
 
5
 
-
 
6
	/**
-
 
7
	 * @backupGlobals # avoid $_REQUEST leaks
5
 
8
	 */
6
	public function testExecuterRechercheSimple() {
9
	public function testExecuterRechercheSimple() {
7
		$_GET['type_nom'] = 'nom_scientifique';
10
		$_REQUEST['type_nom'] = 'nom_scientifique';
8
		$_GET['nom'] = 'acer mons';
11
		$_REQUEST['nom'] = 'acer mons';
9
 
12
 
10
		Registre::set('niveau', '1');
13
		Registre::set('parametres.niveau', '1');
11
		$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
14
		$cheminRacine = realpath(__DIR__ . '/../../configurations/').'/';
12
		Config::charger($cheminRacine.'bdtfx.ini');
15
		Config::charger($cheminRacine.'bdtfx.ini');
13
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
16
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
14
		Registre::set('parametres.referentiel', 'bdtfx');
17
		Registre::set('parametres.referentiel', 'bdtfx');
15
 
18
 
16
		$recherche = new Recherche();
19
		$recherche = new Recherche();
17
		$recherche->initialiser();
20
		$recherche->initialiser();
18
		$recherche->executerRechercheSimple();
21
		$recherche->executerRechercheSimple();
19
 
-
 
20
		$donnees = Registre::get('donneesMoteur');
22
 
-
 
23
		$resultat = Registre::get('resultats');
21
		$resultat = Registre::get('resultats');
24
 
22
		$sortie = implode('', $recherche->getSortie());
-
 
23
		$this->assertEmpty($donnees, print_r($donnees, true));
25
		$sortie = implode('', $recherche->getSortie());
24
		$this->assertNotEmpty($resultat, print_r($resultat, true));
26
		$this->assertNotEmpty($resultat);
25
		$this->assertEquals('6', $resultat['entete']['total']);
27
		$this->assertEquals('6', $resultat['entete']['total']);
26
		$this->assertEquals('6', count($resultat['resultat']));
28
		$this->assertEquals('6', count($resultat['resultat']));
27
		$this->assertArrayNotHasKey('auteur', $resultat['resultat']['182'], print_r($resultat, true));
29
		$this->assertArrayNotHasKey('auteur', $resultat['resultat']['182'], print_r($resultat, true));
28
		$this->assertNotEmpty($sortie, print_r($sortie, true));
30
		$this->assertNotEmpty($sortie);
29
		$this->assertContains('<input id="nom" name="nom" class="champ" size="30" maxlength="255" type="text" autocomplete="off" value="acer mons" />', $sortie);
31
		$this->assertContains('<input id="nom" name="nom" class="champ" size="30" maxlength="255" type="text" value="acer mons" />', $sortie);
30
		$this->assertContains('<strong class="nom-sci-retenu"><span class="surlignage">Acer</span> <span class="surlignage">mons</span>pessulanum</strong>', $sortie);
32
		$this->assertContains('<strong class="nom-sci-retenu"><span class="surlignage">Acer</span> <span class="surlignage">mons</span>pessulanum</strong>', $sortie);
31
	}
33
	}
32
	
34
 
-
 
35
	/**
-
 
36
	 * @backupGlobals # avoid $_REQUEST leaks
-
 
37
	 */
33
	public function testExecuterRechercheSimpleAlphab() {
38
	public function testExecuterRechercheSimpleAlphab() {
34
		$_GET['type_nom'] = 'nom_scientifique';
39
		$_REQUEST['type_nom'] = 'nom_scientifique';
35
		$_GET['nom'] = 'acer mons';
40
		$_REQUEST['nom'] = 'acer mons';
36
		$_GET['resultat'] = 'alphab';
41
		$_REQUEST['resultat'] = 'alphab';
37
		
42
 
38
		$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
43
		$cheminRacine = realpath(__DIR__ . '/../../configurations/') . '/';
39
		Config::charger($cheminRacine.'bdtfx.ini');
44
		Config::charger($cheminRacine.'bdtfx.ini');
40
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
45
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
41
		Registre::set('parametres.referentiel', 'bdtfx');
46
		Registre::set('parametres.referentiel', 'bdtfx');
42
		
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
43
		$recherche = new Recherche();
56
		$recherche = new Recherche();
44
		$recherche->initialiser();
57
		$recherche->initialiser();
45
		$recherche->executerRechercheSimple();
58
		$recherche->executerRechercheSimple();
46
		
-
 
47
		$donnees = Registre::get('donneesMoteur');
59
		
48
		$resultat = Registre::get('resultats');
60
		$resultat = Registre::get('resultats');
49
		$sortie = implode('', $recherche->getSortie());
-
 
50
		$this->assertEmpty($donnees, print_r($donnees, true));
61
		$sortie = implode('', $recherche->getSortie());
51
		$this->assertNotEmpty($resultat, print_r($resultat, true));
62
		$this->assertNotEmpty($resultat, $resultat);
52
		$this->assertEquals('6', $resultat['entete']['total']);
63
		$this->assertEquals('6', $resultat['entete']['total']);
53
		$this->assertEquals('6', count($resultat['resultat']));
64
		$this->assertEquals('6', count($resultat['resultat']));
54
	}
65
	}
-
 
66
	
-
 
67
	/**
-
 
68
	 * @backupGlobals # avoid $_REQUEST leaks
55
	
69
	 */
56
	public function testExecuterRechercheSimpleRetenu() {
70
	public function testExecuterRechercheSimpleRetenu() {
57
		$_GET['type_nom'] = 'nom_scientifique';
71
		$_REQUEST['type_nom'] = 'nom_scientifique';
58
		$_GET['nom'] = 'acer mons';
72
		$_REQUEST['nom'] = 'acer mons';
-
 
73
		$_REQUEST['resultat'] = 'retenu';
59
		$_GET['resultat'] = 'retenu';
74
		$_REQUEST['niveau'] = 2;
-
 
75
 
60
	
76
		Registre::set('parametres.niveau', '2');
61
		$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
77
		$cheminRacine = realpath(__DIR__ . '/../../configurations/').'/';
62
		Config::charger($cheminRacine.'bdtfx.ini');
78
		Config::charger($cheminRacine.'bdtfx.ini');
63
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
79
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
64
		Registre::set('parametres.referentiel', 'bdtfx');
80
		Registre::set('parametres.referentiel', 'bdtfx');
65
	
81
 
66
		$recherche = new Recherche();
82
		$recherche = new Recherche();
67
		$recherche->initialiser();
83
		$recherche->initialiser();
68
		$recherche->executerRechercheSimple();
84
		$recherche->executerRechercheSimple();
69
	
-
 
70
		$donnees = Registre::get('donneesMoteur');
85
	
71
		$resultat = Registre::get('resultats');
86
		$resultat = Registre::get('resultats');
72
		$sortie = implode('', $recherche->getSortie());
-
 
73
		$this->assertEmpty($donnees, print_r($donnees, true));
87
		$sortie = implode('', $recherche->getSortie());
74
		$this->assertNotEmpty($resultat, print_r($resultat, true));
88
		$this->assertNotEmpty($resultat);
75
		$this->assertEquals('6', $resultat['entete']['total']);
89
		$this->assertEquals('6', $resultat['entete']['total']);
76
		$this->assertEquals('6', count($resultat['resultat']));
90
		$this->assertEquals('6', count($resultat['resultat']));
77
	}
91
	}
78
	
92
 
-
 
93
	/**
-
 
94
	 * @backupGlobals # avoid $_REQUEST leaks
-
 
95
	 */
79
	public function testExecuterRechercheSimpleSynonyme() {
96
	public function testExecuterRechercheSimpleSynonyme() {
80
		$_GET['type_nom'] = 'nom_scientifique';
97
		$_REQUEST['type_nom'] = 'nom_scientifique';
81
		$_GET['nom'] = 'acer mons';
98
		$_REQUEST['nom'] = 'acer mons';
82
		$_GET['resultat'] = 'retenu';
99
		$_REQUEST['resultat'] = 'retenu';
83
	
100
 
-
 
101
		Registre::set('parametres.niveau', '2');	
84
		$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
102
		$cheminRacine = realpath(__DIR__ . '/../../configurations/').'/';
85
		Config::charger($cheminRacine.'bdtfx.ini');
103
		Config::charger($cheminRacine.'bdtfx.ini');
86
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
104
		Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
87
		Registre::set('parametres.referentiel', 'bdtfx');
105
		Registre::set('parametres.referentiel', 'bdtfx');
88
	
106
	
89
		$recherche = new Recherche();
107
		$recherche = new Recherche();
90
		$recherche->initialiser();
108
		$recherche->initialiser();
91
		$recherche->executerRechercheSimple();
109
		$recherche->executerRechercheSimple();
92
	
-
 
93
		$donnees = Registre::get('donneesMoteur');
110
	
94
		$resultat = Registre::get('resultats');
111
		$resultat = Registre::get('resultats');
95
		$sortie = implode('', $recherche->getSortie());
-
 
96
		$this->assertEmpty($donnees, print_r($donnees, true));
112
		$sortie = implode('', $recherche->getSortie());
97
		$this->assertNotEmpty($resultat, print_r($resultat, true));
113
		$this->assertNotEmpty($resultat);
98
		$this->assertEquals('6', $resultat['entete']['total']);
114
		$this->assertEquals('6', $resultat['entete']['total']);
99
		$this->assertEquals('6', count($resultat['resultat']));
115
		$this->assertEquals('6', count($resultat['resultat']));
100
	}
116
	}
101
	
-
 
102
 
-
 
103
}
117
}
104
?>
118
?>