New file |
0,0 → 1,211 |
<?php |
require_once dirname(__FILE__).'/../ServicePhpUnit.php'; |
|
class NomsListeFournierTest extends ServicePhpUnit { |
|
private $listeUrl = 'http://localhost/service:eflore:0.2/fournier/noms'; |
private $nomDetailSqueletteUrl = 'http://localhost/service:eflore:0.2/fournier/noms/%s'; |
private $nbreNom = 168; |
|
public function __construct() { |
$this->projet = 'fournier'; |
$this->service = 'noms'; |
} |
|
public function testSansParametres() { |
$ressources = array(); |
$parametres = array(); |
|
$retour = $this->consulter($ressources, $parametres); |
$this->assertArrayHasKey('entete', $retour, 'Présence champ entete'); |
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEmpty($retour['entete']['masque'], 'Valeur champ entete>masque = vide'); |
$this->assertArrayHasKey('depart', $retour['entete'], 'Présence champ entete>depart'); |
$this->assertSame(0, $retour['entete']['depart'], 'Valeur champ entete>depart = 0'); |
$this->assertArrayHasKey('limite', $retour['entete'], 'Présence champ entete>limite'); |
$this->assertSame(100, $retour['entete']['limite'], 'Valeur champ entete>limite = 100'); |
$this->assertArrayHasKey('total', $retour['entete'], 'Présence champ entete>total'); |
$this->assertNotEquals(0, $retour['entete']['total'], 'Valeur champ entete>total != 0'); |
$this->assertSame($this->nbreNom, $retour['entete']['total'], 'Valeur champ entete>total = 168'); |
$this->assertArrayNotHasKey('href.precedent', $retour['entete'], "Abscence champ entete>href.precedent"); |
$this->assertArrayHasKey('href.suivant', $retour['entete'], "Présence champ entete>href.suivant"); |
$url = $this->listeUrl.'?navigation.depart=100&navigation.limite=100'; |
$this->assertEquals($url, $retour['entete']['href.suivant'], "Valeur champ entete>href.suivant = $url"); |
|
$this->assertArrayHasKey('resultats', $retour, 'Valeur champ resultats'); |
$this->assertCount(100, $retour['resultats'], 'Nombre de valeurs dans resultats = 100'); |
$this->assertArrayNotHasKey('1', $retour['resultats'], 'Abscence champ resultats>1 car trie sur nom_sci ASC'); |
$this->assertArrayHasKey('2', $retour['resultats'], 'Présence champ resultats>2'); |
$this->assertArrayHasKey('nom_sci', $retour['resultats']['2'], 'Présence champ resultats>2>nom_sci'); |
$this->assertCount(3, $retour['resultats']['2'], 'Nombre de valeurs dans resultats>2 = 3'); |
$this->assertEquals('Cryptogames', $retour['resultats']['2']['nom_sci'], 'Test valeur champ resultats>2>nom_sci = Plantae'); |
$this->assertArrayHasKey('retenu', $retour['resultats']['2'], 'Présence champ resultats>2>retenu'); |
$this->assertTrue($retour['resultats']['2']['retenu'], 'Valeur champ resultats>2>retenu = true'); |
$this->assertArrayHasKey('href', $retour['resultats']['2'], 'Présence champ resultats>2>href'); |
$url = sprintf($this->nomDetailSqueletteUrl, '2'); |
$this->assertEquals($url, $retour['resultats']['2']['href'], "Valeur champ resultats>2>nom_sci = $url"); |
} |
|
public function testParametreNavigationDepart100() { |
$ressources = array(); |
$parametres = array('navigation.depart' => 100); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('depart', $retour['entete'], 'Présence champ entete>depart'); |
$this->assertSame(100, $retour['entete']['depart'], 'Valeur champ entete>depart = 100'); |
$this->assertArrayHasKey('limite', $retour['entete'], 'Présence champ entete>limite'); |
$this->assertSame(100, $retour['entete']['limite'], 'Valeur champ entete>limite = 100'); |
$this->assertSame($this->nbreNom, $retour['entete']['total'], 'Valeur champ entete>total = 168'); |
$this->assertArrayNotHasKey('href.suivant', $retour['entete'], "Abscence champ entete>href.suivant"); |
$this->assertArrayHasKey('href.precedent', $retour['entete'], "Présence champ entete>href.precedent"); |
$url = $this->listeUrl.'?navigation.depart=0&navigation.limite=100'; |
$this->assertEquals($url, $retour['entete']['href.precedent'], "Valeur champ entete>href.precedent = $url"); |
} |
|
public function testRechercheDefautMasque() { |
$ressources = array(); |
$parametres = array('masque' => 'Lycopodium'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('nom_sci=Lycopodium', $retour['entete']['masque'], 'Valeur champ entete>masque = "nom_sci=Lycopodium"'); |
$this->assertCount(1, $retour['resultats'], 'Nombre de valeurs dans resultats = 1'); |
$this->assertEquals('Lycopodium', $retour['resultats']['5']['nom_sci'], 'Test valeur champ resultats>5>nom_sci = Lycopodium'); |
} |
|
public function testRechercheStricteMasque() { |
$ressources = array(); |
$parametres = array('masque' => 'Lycopodium', 'recherche' => 'stricte'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('nom_sci=Lycopodium', $retour['entete']['masque'], 'Valeur champ entete>masque = "nom_sci=Lycopodium"'); |
$this->assertCount(1, $retour['resultats'], 'Nombre de valeurs dans resultats = 1'); |
$this->assertEquals('Lycopodium', $retour['resultats']['5']['nom_sci'], 'Test valeur champ resultats>5>nom_sci = Lycopodium'); |
} |
|
public function testerRechercheEtendueMasque() { |
$ressources = array(); |
$parametres = array('masque' => 'Lycopodium', 'recherche' => 'etendue'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('nom_sci=Lycopodium%', $retour['entete']['masque'], 'Valeur champ entete>masque = "nom_sci=Lycopodium%"'); |
$this->assertCount(11, $retour['resultats'], 'Nombre de valeurs dans resultats = 10'); |
foreach ($retour['resultats'] as $nom) { |
$this->assertContains('Lycopodium', $nom['nom_sci'], 'Test valeur champ resultats>...>nom_sci contient Lycopodium'); |
} |
} |
|
public function testerRechercheFloueMasque() { |
$ressources = array(); |
$parametres = array('masque' => 'Licopodium', 'recherche' => 'floue'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('nom_sci=Licopodium', $retour['entete']['masque'], 'Valeur champ entete>masque = "nom_sci=Licopodium"'); |
$this->assertCount(1, $retour['resultats'], 'Nombre de valeurs dans resultats = 1'); |
$this->assertContains('Lycopodium', $retour['resultats'][5]['nom_sci'], 'Test valeur champ resultats>5>nom_sci contient Lycopodium'); |
} |
|
public function testRechercheDefautMasqueSg() { |
$ressources = array(); |
$parametres = array('masque.sg' => 'Lycopodiaceae'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('nom_supra_generique=Lycopodiaceae', $retour['entete']['masque'], 'Valeur champ entete>masque = "nom_sci=Lycopodiaceae"'); |
$this->assertCount(1, $retour['resultats'], 'Nombre de valeurs dans resultats = 1'); |
$this->assertEquals('Lycopodiaceae', $retour['resultats']['4']['nom_sci'], 'Test valeur champ resultats>4>nom_sci = Lycopodiaceae'); |
} |
|
public function testRechercheDefautMasqueGen() { |
$ressources = array(); |
$parametres = array('masque.gen' => 'Lycopodium'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('genre=Lycopodium', $retour['entete']['masque'], 'Valeur champ entete>masque = "genre=Lycopodium"'); |
$this->assertCount(11, $retour['resultats'], 'Nombre de valeurs dans resultats = 11'); |
foreach ($retour['resultats'] as $id => $info) { |
$this->assertContains('Lycopodium', $info['nom_sci'], "Test valeur champ resultats>$id>nom_sci contient Lycopodium"); |
} |
} |
|
public function testRechercheDefautMasqueSp() { |
$ressources = array(); |
$parametres = array('masque.sp' => 'alpinum'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('epithete_sp=alpinum', $retour['entete']['masque'], 'Valeur champ entete>masque = "epithete_sp=alpinum"'); |
$this->assertCount(2, $retour['resultats'], 'Nombre de valeurs dans resultats = 2'); |
foreach ($retour['resultats'] as $id => $info) { |
$this->assertContains('alpinum', $info['nom_sci'], "Test valeur champ resultats>$id>nom_sci contient alpinum"); |
} |
} |
|
public function testRechercheEtendueMasqueSg() { |
$ressources = array(); |
$parametres = array('masque.sg' => 'Lycopodiaceae', 'recherche' => 'etendue'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('nom_supra_generique=Lycopodiaceae%', $retour['entete']['masque'], 'Valeur champ entete>masque = "nom_sci=Lycopodiaceae"'); |
$this->assertCount(1, $retour['resultats'], 'Nombre de valeurs dans resultats = 1'); |
$this->assertEquals('Lycopodiaceae', $retour['resultats']['4']['nom_sci'], 'Test valeur champ resultats>4>nom_sci = Lycopodiaceae'); |
} |
|
public function testRechercheEtendueMasqueGen() { |
$ressources = array(); |
$parametres = array('masque.gen' => 'Lycopodium', 'recherche' => 'etendue'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('genre=Lycopodium%', $retour['entete']['masque'], 'Valeur champ entete>masque = "genre=Lycopodium"'); |
$this->assertCount(11, $retour['resultats'], 'Nombre de valeurs dans resultats = 11'); |
foreach ($retour['resultats'] as $id => $info) { |
$this->assertContains('Lycopodium', $info['nom_sci'], "Test valeur champ resultats>$id>nom_sci contient Lycopodium"); |
} |
} |
|
public function testRechercheEtendueMasqueSp() { |
$ressources = array(); |
$parametres = array('masque.sp' => 'alpinum', 'recherche' => 'etendue'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('masque', $retour['entete'], 'Présence champ entete>masque'); |
$this->assertEquals('epithete_sp=alpinum%', $retour['entete']['masque'], 'Valeur champ entete>masque = "epithete_sp=alpinum"'); |
$this->assertCount(2, $retour['resultats'], 'Nombre de valeurs dans resultats = 2'); |
foreach ($retour['resultats'] as $id => $info) { |
$this->assertContains('alpinum', $info['nom_sci'], "Test valeur champ resultats>$id>nom_sci contient alpinum"); |
} |
} |
|
public function testRetourChamps() { |
$ressources = array(); |
$parametres = array('retour.champs' => 'nom_retenu'); |
|
$retour = $this->consulter($ressources, $parametres); |
|
$this->assertArrayHasKey('href.suivant', $retour['entete'], "Présence champ entete>href.suivant"); |
$url = $this->listeUrl.'?retour.champs=nom_retenu&navigation.depart=100&navigation.limite=100'; |
$this->assertEquals($url, $retour['entete']['href.suivant'], "Valeur champ entete>href.suivant = $url"); |
foreach ($retour['resultats'] as $id => $info) { |
$this->assertArrayHasKey('nom_retenu', $info, "Présence champ resultats>$id>nom_retenu "); |
} |
} |
|
} |
?> |