835 |
raphael |
1 |
<?php
|
|
|
2 |
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
|
|
|
3 |
|
|
|
4 |
class NvjflOntologiesTest extends ServiceEflorePhpUnit {
|
|
|
5 |
|
|
|
6 |
// simple test ontologies nvjfl
|
|
|
7 |
// ce qui signifie les ontologies communes aux référentiels (bdtfx, bdtxa, isfan)
|
|
|
8 |
public function testOntoNVJFLSimpleNotExist() {
|
|
|
9 |
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', [ 'numStatut:-1' ] );
|
|
|
10 |
$retour = $this->consulterBrut('ontologies', 'nvjfl', [ 'numStatut:-1' ] );
|
|
|
11 |
$this->assertContains($retour, 'Les données recherchées sont introuvables.');
|
|
|
12 |
}
|
|
|
13 |
|
|
|
14 |
public function testOntoNVJFLSimpleAttrNotExist() {
|
|
|
15 |
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', [ 'blah:1' ] );
|
|
|
16 |
$retour = $this->consulterBrut('ontologies', 'nvjfl', [ 'blah:1' ] );
|
|
|
17 |
$this->assertContains($retour, 'Les données recherchées sont introuvables.');
|
|
|
18 |
}
|
|
|
19 |
|
|
|
20 |
public function testOntoNVJFLSimple() {
|
|
|
21 |
$ressource = [ 'numStatut:1' ];
|
|
|
22 |
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', $ressource );
|
|
|
23 |
$retour = $this->consulterJson('ontologies', 'nvjfl', $ressource );
|
|
|
24 |
$this->assertNotEmpty($retour, 'données absentes');
|
|
|
25 |
foreach(['id', 'nom', 'code', 'complements', 'classe.id', 'classe', 'classe.href', 'description'] as $v) {
|
|
|
26 |
$this->assertArrayHasKey($v, $retour, "Le json ne contient pas l'attribut \"$v\". Voir : $url");
|
|
|
27 |
}
|
|
|
28 |
}
|
|
|
29 |
|
|
|
30 |
public function testOntoNVJFLMultiples() {
|
|
|
31 |
$ressource = [ implode(',', [ 'numStatut:1', 'numStatut:2', 'genreNombre:10', 'numStatut:-1', 'blah:1' ]) ];
|
|
|
32 |
$url = '/nvjfl' . ServiceEflorePhpUnit::creerUrl('ontologies', $ressource );
|
|
|
33 |
$retour = $this->consulterJson('ontologies', 'nvjfl', $ressource );
|
|
|
34 |
$this->assertNotEmpty($retour, 'données absentes');
|
|
|
35 |
$this->assertEquals(3, count($retour), "Le retour devrait contenir 3 éléments valides. Voir : $url");
|
|
|
36 |
foreach($retour as $k => $e) {
|
|
|
37 |
$this->assertArrayHasKey($k, $retour, "Le json ne contient pas d'élément '$k'. Voir : $url");
|
|
|
38 |
}
|
|
|
39 |
foreach($retour as $k => $e) {
|
|
|
40 |
foreach(['id', 'nom', 'code', 'classe.id', 'classe', 'classe.href'] as $v) {
|
|
|
41 |
$this->assertArrayHasKey($v, $e, "Le json ne contient pas l'attribut \"$v\" pour l'élément \"$k\". Voir : $url");
|
|
|
42 |
}
|
|
|
43 |
}
|
|
|
44 |
$this->assertEquals('Recommandé ou typique', $retour['numStatut:1']['nom'], "test attribut 'nom' pour numStatut:1. Voir : $url");
|
|
|
45 |
$this->assertEquals('Secondaire ou régional', $retour['numStatut:2']['nom'], "test attribut 'nom' pour numStatut:2. Voir : $url");
|
|
|
46 |
$this->assertEquals('Féminin singulier', $retour['genreNombre:10']['nom'], "test attribut 'nom' pour genreNombre:10. Voir : $url");
|
|
|
47 |
$this->assertEquals('N° Statut', $retour['numStatut:1']['classe'], "test attribut 'classe' pour numStatut:1. Voir : $url");
|
|
|
48 |
$this->assertEquals('N° Genre et nombre', $retour['genreNombre:10']['classe'], "test attribut 'nom' pour genreNombre:10. Voir : $url");
|
|
|
49 |
}
|
|
|
50 |
}
|