Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 834 → Rev 835

/trunk/services/tests/0.1/nvjfl/NvjflOntologiesTest.php
New file
0,0 → 1,50
<?php
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
 
class NvjflOntologiesTest extends ServiceEflorePhpUnit {
 
// simple test ontologies nvjfl
// ce qui signifie les ontologies communes aux référentiels (bdtfx, bdtxa, isfan)
public function testOntoNVJFLSimpleNotExist() {
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', [ 'numStatut:-1' ] );
$retour = $this->consulterBrut('ontologies', 'nvjfl', [ 'numStatut:-1' ] );
$this->assertContains($retour, 'Les données recherchées sont introuvables.');
}
 
public function testOntoNVJFLSimpleAttrNotExist() {
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', [ 'blah:1' ] );
$retour = $this->consulterBrut('ontologies', 'nvjfl', [ 'blah:1' ] );
$this->assertContains($retour, 'Les données recherchées sont introuvables.');
}
 
public function testOntoNVJFLSimple() {
$ressource = [ 'numStatut:1' ];
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', $ressource );
$retour = $this->consulterJson('ontologies', 'nvjfl', $ressource );
$this->assertNotEmpty($retour, 'données absentes');
foreach(['id', 'nom', 'code', 'complements', 'classe.id', 'classe', 'classe.href', 'description'] as $v) {
$this->assertArrayHasKey($v, $retour, "Le json ne contient pas l'attribut \"$v\". Voir : $url");
}
}
 
public function testOntoNVJFLMultiples() {
$ressource = [ implode(',', [ 'numStatut:1', 'numStatut:2', 'genreNombre:10', 'numStatut:-1', 'blah:1' ]) ];
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', $ressource );
$retour = $this->consulterJson('ontologies', 'nvjfl', $ressource );
$this->assertNotEmpty($retour, 'données absentes');
$this->assertEquals(3, count($retour), "Le retour devrait contenir 3 éléments valides. Voir : $url");
foreach($retour as $k => $e) {
$this->assertArrayHasKey($k, $retour, "Le json ne contient pas d'élément '$k'. Voir : $url");
}
foreach($retour as $k => $e) {
foreach(['id', 'nom', 'code', 'classe.id', 'classe', 'classe.href'] as $v) {
$this->assertArrayHasKey($v, $e, "Le json ne contient pas l'attribut \"$v\" pour l'élément \"$k\". Voir : $url");
}
}
$this->assertEquals('Recommandé ou typique', $retour['numStatut:1']['nom'], "test attribut 'nom' pour numStatut:1. Voir : $url");
$this->assertEquals('Secondaire ou régional', $retour['numStatut:2']['nom'], "test attribut 'nom' pour numStatut:2. Voir : $url");
$this->assertEquals('Féminin singulier', $retour['genreNombre:10']['nom'], "test attribut 'nom' pour genreNombre:10. Voir : $url");
$this->assertEquals('N° Statut', $retour['numStatut:1']['classe'], "test attribut 'classe' pour numStatut:1. Voir : $url");
$this->assertEquals('N° Genre et nombre', $retour['genreNombre:10']['classe'], "test attribut 'nom' pour genreNombre:10. Voir : $url");
}
}