Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 897 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';

class ChorodepObservationsTest extends ServiceEflorePhpUnit {

        public function __construct() {
                $this->projet = 'chorodep';
                $this->service = 'observations';
        }

        public function testRecherche() {
                $ressources = array();
                $parametres = array();
                $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
                $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
                $this->assertNotEmpty($retour, print_r($retour, true));
                $this->assertNotEmpty($retour['entete'], print_r($retour['entete'], true));
                $this->assertEquals(20, $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '20'. Voir : $url");
                $this->assertCount(20, $retour['resultat'], "Il devrait y avoir '20' résultats. Voir : $url");
        }


        public function testObservation() {
                $ressources = array("10:20");
                $parametres = array();
                $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
                $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
                $this->assertNotEmpty($retour, print_r($retour, true));
                $this->assertArrayHasKey('type', $retour, "Le json ne contient pas d'attribut : type. Voir : $url");
                $this->assertEquals('chorologie', $retour['type'], "L'attribut 'type' devrait avoir la valeur 'chorologie'. Voir : $url");
        }

        public function testMasqueStation() {
                $ressources = array();
                $parametres = array('masque.station' => '34', 'retour.format' => 'min');
                $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
                $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
                $this->assertNotEmpty($retour, 'pas de resultat'.print_r($retour, true));
                $this->assertNotEmpty($retour['entete'], 'pas d\'entete'.print_r($retour['entete'], true));
                $this->assertEquals(20, $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '20'. Voir : $url");
                $this->assertCount(20, $retour['resultat'], "L'attribut 'total' devrait avoir la valeur '20'. Voir : $url");
                $this->assertNotEmpty($retour['resultat']['197:34'], 'resultat 197:34 absent', true);
                /*$this->assertArrayHasKey('type', $retour['resultat']['74929:03'], "Le json ne contient pas d'attribut : type. Voir : $url");
                  $this->assertEquals('chorologie', $retour['resultat']['74929:03']['type'], "L'attribut 'type' devrait avoir la valeur 'chorologie'. Voir : $url");*/
                // TODO: implémenter "chorodep/observations/10:25?masque.station=34&retour.format=min"
        }
}
?>