/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; |
} |
//+------------------------------------------------------------------------------------------------------+ |
/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/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/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/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); |
} |
} |
?> |