Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
}