Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev Author Line No. Line
145 jpm 1
<?php
158 jpm 2
include_once dirname(__FILE__).'/../ResultatFormateurInitialisation.php';
145 jpm 3
 
158 jpm 4
class RetenuFormateurTest extends ResultatFormateurInitialisation {
145 jpm 5
 
6
	public function testerFormater() {
7
		$RetenuFormateur = $this->initialiserRetenuFormateur();
8
		$RetenuFormateur->formater();
9
		$infos = $RetenuFormateur->getTplInfos();
10
 
1142 raphael 11
		$this->assertArrayHasKey('noms', $infos, $infos);
145 jpm 12
		foreach ($infos['noms'] as $id => $nom) {
13
			$this->assertTrue(is_int($id), "L'id '$id' doit être un nombre entier.");
14
			$this->assertCount(3, $nom);
1142 raphael 15
			$this->assertArrayHasKey('nomSci', $infos['noms'][$id], $infos);
16
			$this->assertArrayHasKey('retenu', $infos['noms'][$id], $infos);
17
			$this->assertArrayHasKey('urlFiche', $infos['noms'][$id], $infos);
1149 raphael 18
			$this->assertEquals( sprintf(ConsultationEflorePhpUnit::TPL_URL_FICHE, $id), $infos['noms'][$id]['urlFiche'], $infos );
145 jpm 19
		}
20
	}
21
 
22
	public function testerTrier() {
23
		$RetenuFormateur = $this->initialiserRetenuFormateur();
24
		$RetenuFormateur->formater();
25
		$RetenuFormateur->trier();
26
		$infos = $RetenuFormateur->getTplInfos();
27
 
1142 raphael 28
		$this->assertArrayHasKey('noms', $infos, $infos);
145 jpm 29
		$ordreClesAttendu = array(72288, 72291, 72289, 72290, 72341);
30
		$ordreClesTriees = array_keys($infos['noms']);
1142 raphael 31
		$this->assertEquals($ordreClesAttendu, $ordreClesTriees, $infos);
145 jpm 32
	}
33
 
34
	public function testerSurligner() {
35
		$RetenuFormateur = $this->initialiserRetenuFormateur();
36
		$RetenuFormateur->formater();
37
		$RetenuFormateur->surligner();
38
		$infos = $RetenuFormateur->getTplInfos();
39
 
1142 raphael 40
		$this->assertArrayHasKey('noms', $infos, $infos);
145 jpm 41
		foreach ($infos['noms'] as $id => $nom) {
1142 raphael 42
			$this->assertArrayHasKey($id, $infos['noms'], $infos);
43
			$this->assertArrayHasKey('nomSci', $infos['noms'][$id], $infos);
1063 raphael 44
			// fails because:
45
			// svndiff -c 872 modules/resultat/formateurs/nom_scientifique/RetenuFormateur.php
46
			// 'nom_sci' => 'nom_sci_complet'
47
			// c'est à dire que les résultats passés au new RetenuFormateur() ci-dessous [= le fichier json],
48
			// doivent disposer du nom_sci_complet afin d'être formattés
1142 raphael 49
			$this->assertContains('<span class="surlignage">Viola</span>', $infos['noms'][$id]['nomSci'], $infos);
50
			$this->assertContains('<span class="surlignage">his</span>', $infos['noms'][$id]['nomSci'], $infos);
145 jpm 51
		}
52
	}
53
 
54
	private function initialiserRetenuFormateur($masque = 'viola his') {
55
		$parametres = $this->getParametres('retenu', $masque);
56
		$resultats = $this->getResultatsPourMasque($masque);
57
		$surligneur = $this->getSurligneur();
58
		$trieur = $this->getTrieur();
59
		$appsUrls = $this->getAppUrls();
60
		return new RetenuFormateur($parametres, $resultats, $surligneur, $trieur, $appsUrls);
61
	}
62
}
63
?>