Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 1141 → Rev 1142

/trunk/tests/metier/EfloreTest.php
10,7 → 10,7
$eflore = $this->getMock('Eflore');
$formaterUrl = self::getMethodeProtegee($eflore, 'formaterUrl');
$tpl = 'http://localhost/service:eflore:0.1/{projet}/noms?masque={valeur}&recherche={type}&ns.format=htm';
$tpl = ConsultationEflorePhpUnit::URL_API . '/{projet}/noms?masque={valeur}&recherche={type}&ns.format=htm';
$param = array('projet' => 'bdtfx' ,'valeur' => 'acer', 'type' => 'stricte');
$urlf = $formaterUrl->invoke($eflore, $tpl, $param);
/trunk/tests/metier/NomsTest.php
5,8 → 5,7
public function testRechercheEtendue() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Noms();
$resultats = $noms->getRechercheEtendue('aceras');
$this->assertNotEmpty($resultats);
21,8 → 20,7
public function testRechercheEtendueDetermination() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Noms();
$resultats = $noms->getRechercheEtendue('aceras', 'determination');
$this->assertNotEmpty($resultats);
37,8 → 35,7
public function testRechercheEtendueDecompo() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Noms();
$resultats = $noms->getRechercheEtendue('aceras', 'decompo');
$this->assertNotEmpty($resultats);
53,8 → 50,7
public function testRechercheFloue() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Noms();
$resultats = $noms->getRechercheFloue('aceras');
$this->assertNotEmpty($resultats);
/trunk/tests/metier/TaxonsTest.php
5,18 → 5,17
public function testStatsInitialesFamille() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Taxons();
$resultats = $noms->getStatsInitialesFamille();
$this->assertNotEmpty($resultats);
$this->assertEquals('24', $resultats['A']);
// bdtfx v2
$this->assertEquals('25', $resultats['A']);
}
public function testStatsInitialesGenre() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Taxons();
$resultats = $noms->getStatsInitialesGenre();
$this->assertNotEmpty($resultats);
25,8 → 24,7
public function testListeFamilleParInitiale() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Taxons();
$resultats = $noms->getListeFamilleParInitiale('U');
$this->assertNotEmpty($resultats);
35,8 → 33,7
public function testListeGenreParInitiale() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Taxons();
$resultats = $noms->getListeGenreParInitiale('U');
$this->assertNotEmpty($resultats);
46,22 → 43,25
public function testRechercheEtendue() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Taxons();
$resultats = $noms->getRechercheEtendue('acer');
$this->assertNotEmpty($resultats);
$this->assertEquals('50', $resultats['entete']['total']);
$this->assertEquals('49', $resultats['entete']['total']);
}
 
/*
équivalent de:
SELECT count(num_nom) FROM bdtfx_v1_01 WHERE num_nom = num_nom_retenu AND (( SOUNDEX(nom_sci) = SOUNDEX('aceras')) OR ( SOUNDEX(REVERSE(nom_sci)) = SOUNDEX(REVERSE('aceras')))) LIMIT 0, 100;
~/projets/services/modules/0.1/bdtfx/Taxons.php:275
*/
public function testRechercheFloue() {
Registre::set('parametres.referentiel', 'bdtfx');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new Taxons();
$resultats = $noms->getRechercheFloue('aceras');
$this->assertNotEmpty($resultats);
$this->assertEquals('25', $resultats['entete']['total']);
$this->assertEquals('15', $resultats['entete']['total']);
}
}
/trunk/tests/metier/NomsVernaculairesTest.php
5,8 → 5,7
public function testRechercheEtendue() {
Registre::set('parametres.referentiel', 'nvjfl');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new NomsVernaculaires();
$resultats = $noms->getRechercheEtendue('abricotier');
$this->assertNotEmpty($resultats);
15,8 → 14,7
public function testRechercheEtendueDetermination() {
Registre::set('parametres.referentiel', 'nvjfl');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new NomsVernaculaires();
$resultats = $noms->getRechercheEtendue('abricotier', 'determination');
$this->assertNotEmpty($resultats);
25,8 → 23,7
public function testRechercheFloue() {
Registre::set('parametres.referentiel', 'nvjfl');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'config.ini');
Config::charger(CONFIG_DIR . '/config.ini');
$noms = new NomsVernaculaires();
$resultats = $noms->getRechercheFloue('abricotier');
$this->assertNotEmpty($resultats);
/trunk/tests/modules/RechercheSimpleTest.php
3,8 → 3,7
 
class RechercheSimpleTest extends ConsultationEflorePhpUnit {
public function testMoteurRechercheSimple() {
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'bdtfx.ini');
Config::charger(CONFIG_DIR . '/bdtfx.ini');
Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
Registre::set('parametres.referentiel', 'bdtfx');
 
20,8 → 19,7
}
 
public function testMoteurRechercheSimpleForm() {
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'bdtfx.ini');
Config::charger(CONFIG_DIR . '/bdtfx.ini');
Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
Registre::set('parametres.referentiel', 'bdtfx');
$donnees['type_nom'] = 'nom_vernaculaire';
/trunk/tests/modules/NiveauTest.php
2,7 → 2,6
require_once dirname(__FILE__).'/../ConsultationEflorePhpUnit.php';
 
class NiveauTest extends ConsultationEflorePhpUnit {
const TPL_URL_BASE = 'http://localhost/eflore/eflore-consultation/index_botanique.php?referentiel=bdtfx';
 
public function testAfficherNiveau() {
$_GET['referentiel'] = 'bdtfx';
15,7 → 14,7
$sortie = $niveau->afficherNiveau();
 
$this->assertNotEmpty($sortie, print_r($sortie, true));
$this->assertNotEmpty($sortie, $sortie);
$this->assertNotContains(' <input id="niveau_2" name="niveau" value="2" type="radio" checked="checked" />', $sortie);
$this->assertContains('<input id="eflore_niveau_type_nom" name="type_nom" type="hidden" value="nom_scientifique" />', $sortie, print_r($sortie,true));
$this->assertContains('<input id="eflore_niveau_referentiel" name="referentiel" type="hidden" value="bdtfx" />', $sortie);
26,12 → 25,9
protected function getAppUrls() {
$AppUrls = $this->getMock('AppUrls', array('obtenirUrlBase'), array(), '', false);
$AppUrls->expects($this->any())
->method('obtenirUrlBase')
->will($this->returnCallback(array($this, 'genererUrlBase')));
->method('obtenirUrlBase')
->will($this->returnValue(ConsultationEflorePhpUnit::TPL_URL_BASE));
return $AppUrls;
}
public function genererUrlBase($id) {
return sprintf(self::TPL_URL_BASE, $id);
}
}
?>
/trunk/tests/modules/fiche/FicheTest.php
3,16 → 3,22
 
class FicheTest extends ConsultationEflorePhpUnit {
 
/**
* @outputBuffering enabled # not working ?
* (AppControleur::initialiser, prérequis de new Fiche())
*/
public function testExecuterFichee() {
$_GET['type_nom'] = 'nom_scientifique';
$_GET['nom'] = 'acer mons';
$_GET['referentiel'] = 'bdtfx';
$_GET['num_nom'] = '182';
 
Registre::set('niveau', '1');
$cheminRacine = realpath(dirname(__FILE__).'/../configurations/').'/';
Config::charger($cheminRacine.'bdtfx.ini');
Config::charger(CONFIG_DIR . '/bdtfx.ini');
Registre::set('eFlore.urlBase', new Url(Config::get('base_url_application_index')));
Registre::set('parametres.referentiel', 'bdtfx');
 
// @AppControleur::initialiser(); ...
$fiche = new Fiche();
$fiche->executerFiche();
$sortie = $fiche->getSortie();
/trunk/tests/modules/resultat/ResultatFormateurInitialisation.php
1,9 → 1,7
<?php
 
class ResultatFormateurInitialisation extends PHPUnit_Framework_TestCase {
const TPL_URL_FICHE = 'http://localhost/eflore/eflore-consultation/index_botanique.php?referentiel=bdtfx&module=fiche&action=fiche&nn=%s';
const TPL_URL_BASE_DOSSIER = 'http://localhost/eflore-consultation/';
 
public static function setUpBeforeClass() {
error_reporting(E_ALL);
 
42,32 → 40,26
}
 
protected function getSurligneur() {
$surligneur = new Surligneur();
return $surligneur;
return new Surligneur();
}
 
protected function getTrieur() {
$trieur = new Trieur();
return $trieur;
return new Trieur();
}
 
protected function getAppUrls() {
$AppUrls = $this->getMock('AppUrls', array('obtenirUrlFiche', 'obtenirUrlBaseDossier'), array(), '', false);
$AppUrls->expects($this->any())
->method('obtenirUrlFiche')
->will($this->returnCallback(array($this, 'genererUrlFiche')));
->method('obtenirUrlFiche')
->will($this->returnCallback(array($this, 'genererUrlFiche')));
$AppUrls->expects($this->any())
->method('obtenirUrlBaseDossier')
->will($this->returnCallback(array($this, 'genererUrlBaseDossier')));
->method('obtenirUrlBaseDossier')
->will($this->returnValue(ConsultationEflorePhpUnit::TPL_URL_BASE_DOSSIER));
return $AppUrls;
}
 
public function genererUrlFiche($id) {
return sprintf(self::TPL_URL_FICHE, $id);
return sprintf(ConsultationEflorePhpUnit::TPL_URL_FICHE, $id);
}
public function genererUrlBaseDossier() {
return self::TPL_URL_BASE_DOSSIER;
}
}
?>
/trunk/tests/modules/resultat/formateurs/RetenuFormateurTest.php
5,53 → 5,49
 
public function testerFormater() {
$RetenuFormateur = $this->initialiserRetenuFormateur();
 
$RetenuFormateur->formater();
$infos = $RetenuFormateur->getTplInfos();
 
$this->assertArrayHasKey('noms', $infos, print_r($infos, true));
$this->assertArrayHasKey('noms', $infos, $infos);
foreach ($infos['noms'] as $id => $nom) {
$this->assertTrue(is_int($id), "L'id '$id' doit être un nombre entier.");
$this->assertCount(3, $nom);
$this->assertArrayHasKey('nomSci', $infos['noms'][$id], print_r($infos, true));
$this->assertArrayHasKey('retenu', $infos['noms'][$id], print_r($infos, true));
$this->assertArrayHasKey('urlFiche', $infos['noms'][$id], print_r($infos, true));
$urlFicheAttendue = sprintf(self::TPL_URL_FICHE, $id);
$this->assertEquals($urlFicheAttendue, $infos['noms'][$id]['urlFiche'], print_r($infos, true));
$this->assertArrayHasKey('nomSci', $infos['noms'][$id], $infos);
$this->assertArrayHasKey('retenu', $infos['noms'][$id], $infos);
$this->assertArrayHasKey('urlFiche', $infos['noms'][$id], $infos);
$this->assertEquals( sprintf(self::TPL_URL_FICHE, $id), $infos['noms'][$id]['urlFiche'], $infos );
}
}
 
public function testerTrier() {
$RetenuFormateur = $this->initialiserRetenuFormateur();
 
$RetenuFormateur->formater();
$RetenuFormateur->trier();
$infos = $RetenuFormateur->getTplInfos();
 
$this->assertArrayHasKey('noms', $infos, print_r($infos, true));
$this->assertArrayHasKey('noms', $infos, $infos);
$ordreClesAttendu = array(72288, 72291, 72289, 72290, 72341);
$ordreClesTriees = array_keys($infos['noms']);
$this->assertEquals($ordreClesAttendu, $ordreClesTriees, print_r($infos, true));
$this->assertEquals($ordreClesAttendu, $ordreClesTriees, $infos);
}
 
public function testerSurligner() {
$RetenuFormateur = $this->initialiserRetenuFormateur();
 
$RetenuFormateur->formater();
$RetenuFormateur->surligner();
$infos = $RetenuFormateur->getTplInfos();
 
$this->assertArrayHasKey('noms', $infos, print_r($infos, true));
$this->assertArrayHasKey('noms', $infos, $infos);
foreach ($infos['noms'] as $id => $nom) {
$this->assertArrayHasKey($id, $infos['noms'], print_r($infos, true));
$this->assertArrayHasKey('nomSci', $infos['noms'][$id], print_r($infos, true));
$this->assertArrayHasKey($id, $infos['noms'], $infos);
$this->assertArrayHasKey('nomSci', $infos['noms'][$id], $infos);
// fails because:
// svndiff -c 872 modules/resultat/formateurs/nom_scientifique/RetenuFormateur.php
// 'nom_sci' => 'nom_sci_complet'
// c'est à dire que les résultats passés au new RetenuFormateur() ci-dessous [= le fichier json],
// doivent disposer du nom_sci_complet afin d'être formattés
$this->assertContains('<span class="surlignage">Viola</span>', $infos['noms'][$id]['nomSci'], print_r($infos, true));
$this->assertContains('<span class="surlignage">his</span>', $infos['noms'][$id]['nomSci'], print_r($infos, true));
$this->assertContains('<span class="surlignage">Viola</span>', $infos['noms'][$id]['nomSci'], $infos);
$this->assertContains('<span class="surlignage">his</span>', $infos['noms'][$id]['nomSci'], $infos);
}
}
 
/trunk/tests/ConsultationEflorePhpUnit.php
14,8 → 14,13
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
*/
 
define('CONFIG_DIR', __DIR__ . '/../configurations');
require_once __DIR__ . '/../framework.php';
abstract class ConsultationEflorePhpUnit extends PHPUnit_Framework_TestCase {
const URL_API = 'http://localhost/service:eflore:0.1';
const TPL_URL_BASE = 'http://localhost/consultation/index_botanique.php?referentiel=bdtfx';
const TPL_URL_BASE_DOSSIER = 'http://localhost/consultation/';
const TPL_URL_FICHE = 'http://localhost/consultation/index_botanique.php?referentiel=bdtfx&module=fiche&action=fiche&nn=%s';
 
//+------------------------------------------------------------------------------------------------------+
// Intialisation
48,9 → 53,11
}
$cheminsTests = __DIR__.'/';
// $cheminBibliotheque = realpath(__DIR__.'/../bibliotheque/').'/';
$cheminMetier = realpath(__DIR__.'/../metier/api_0.1').'/';
$cheminModule = realpath(__DIR__.'/../modules/').'/';
$chemins = array($cheminMetier, $cheminModule, $cheminsTests);
$cheminFormateurs = realpath(__DIR__.'/../modules/fiche/formateurs/').'/'; // pour FicheTest::testExecuterFiche()
$chemins = array(/* $cheminBibliotheque, */ $cheminMetier, $cheminModule, $cheminsTests, $cheminFormateurs);
foreach ($chemins as $chemin) {
$cheminCourt = $chemin.$classe.'.php';
$module = strtolower(preg_replace('/([A-Z])/', '_\\1', lcfirst($classe)));
97,7 → 104,7
$parametresUrl = '?'.implode('&', $parametresUrl);
}
 
return 'http://localhost/service:eflore:0.1'.$ressourcesUrl.$parametresUrl;
return self::URL_API.$ressourcesUrl.$parametresUrl;
}
 
//+------------------------------------------------------------------------------------------------------+