/[openfoncier]/trunk/tests/testGeneral.php
ViewVC logotype

Diff of /trunk/tests/testGeneral.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4073 by fmichon, Wed May 4 14:47:36 2016 UTC revision 8408 by fmichon, Mon Dec 3 19:41:11 2018 UTC
# Line 9  Line 9 
9  /**  /**
10   * Cette classe permet de tester unitairement les fonctions de l'application.   * Cette classe permet de tester unitairement les fonctions de l'application.
11   */   */
12  class General extends PHPUnit_Framework_TestCase {  class General extends PHPUnit\Framework\TestCase {
13    
14      /**      /**
15       * Méthode lancée en début de traitement       * Méthode lancée en début de traitement
# Line 21  class General extends PHPUnit_Framework_ Line 21  class General extends PHPUnit_Framework_
21          echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";          echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
22      }      }
23    
24      public function onNotSuccessfulTest(Exception $e){      public function onNotSuccessfulTest(Throwable $e){
25          echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";          echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
26          parent::onNotSuccessfulTest($e);          parent::onNotSuccessfulTest($e);
27      }      }
# Line 248  class General extends PHPUnit_Framework_ Line 248  class General extends PHPUnit_Framework_
248          $_SESSION['login'] = "admin";          $_SESSION['login'] = "admin";
249          $_SERVER['REQUEST_URI'] = "";          $_SERVER['REQUEST_URI'] = "";
250          $f = new utils("nohtml");          $f = new utils("nohtml");
251            $GLOBALS['f'] = $f;
252          $f->disableLog();          $f->disableLog();
253    
254          require_once "../core/om_edition.class.php";          $edition = $f->get_inst__om_edition();
         $edition = new edition();  
         $edition->f = $f;  
255          // Vérification du logo de collectivité mono dans le cas où :          // Vérification du logo de collectivité mono dans le cas où :
256          // - un logo multi actif est défini          // - un logo multi actif est défini
257          // - un logo actif pour la collectivité est défini          // - un logo actif pour la collectivité est défini
258          $logo = $edition->get_logo_from_collectivite("logopdf.png", 1);          $logo = $edition->get_logo_from_collectivite("logopdf.png", 2);
259            // XXX le double // dans le path est nécessaire
260          $logo_valid = array(          $logo_valid = array(
261              "file" => "../var/filestorage//88/8815/88154c6f68d3a0e1928c84fc0187993d",              "file" => "../var/filestorage//88/8815/88154c6f68d3a0e1928c84fc0187993d",
262              "w" => 43.349333333333334,              "w" => 43.349333333333334,
# Line 274  class General extends PHPUnit_Framework_ Line 274  class General extends PHPUnit_Framework_
274          // - un logo multi actif est défini          // - un logo multi actif est défini
275          // - un logo la collectivité est inactif          // - un logo la collectivité est inactif
276          $logo = $edition->get_logo_from_collectivite("logopdf.png", 1);          $logo = $edition->get_logo_from_collectivite("logopdf.png", 1);
277            // XXX le double // dans le path est nécessaire
278          $logo_valid = array(          $logo_valid = array(
279              "file" => "../var/filestorage//d2/d20a/d20a5c36d3b83464bab63035a7f61901",              "file" => "../var/filestorage//d2/d20a/d20a5c36d3b83464bab63035a7f61901",
280              "w" => 43.349333333333334,              "w" => 43.349333333333334,
# Line 297  class General extends PHPUnit_Framework_ Line 298  class General extends PHPUnit_Framework_
298          $f->__destruct();          $f->__destruct();
299      }      }
300    
301        /**
302         * Vérification de la méthode permettant de formater le corps du courriel
303         * notifié aux communes.
304         */
305        function test_03_instruction_formater_modele() {
306            // Instance de la classe Utils
307            require_once "../obj/utils.class.php";
308            @session_start();
309            $_SESSION['collectivite'] = 1;
310            $_SESSION['login'] = "admin";
311            $_SERVER['REQUEST_URI'] = "";
312            $f = new utils("nohtml");
313            $f->disableLog();
314            $GLOBALS["f"] = $f;
315            // template du modèle
316            $template = 'DI : <DOSSIER_INSTRUCTION>
317    LIEN : <URL_INSTRUCTION>
318    INSTRUCTION : <ID_INSTRUCTION>';
319            // résultat attendu
320            $di = 'PC01';
321            $inst = 7;
322            $url = 'http://localhost/openads/app/index.php?module=form&direct_link=true&obj=dossier_instruction&action=3';
323            $url .= '&direct_field=dossier&direct_form=instruction&direct_action=3&direct_idx='.$inst;
324            $link = '<a href="'.$url.'">'.$url.'</a>';
325            $expected = 'DI : '.$di.'<br/>';
326            $expected .= 'LIEN : '.$link.'<br/>';
327            $expected .= 'INSTRUCTION : '.$inst;
328            // Instance de la classe instruction
329            $instr = $f->get_inst__om_dbform(array(
330                "obj" => "instruction",
331                "idx" => "]",
332            ));
333            // Traitement
334            $result = $instr->formater_modele($template, $di, $inst);
335            // Vérification du traitement
336            $this->assertEquals($expected, $result);
337            // Destruction de la classe Utils
338            $f->__destruct();
339        }
340    
341    
342        /**
343         * TNR du bug de champs de fusion [*_correspondant] dans la om_requete n°7 "dossier".
344         * Le test vérifie qu'une seule ligne est retournée par la requête et qu'elle contient
345         *  bien le nom du pétitionnaire principal
346         */
347        function test_05_TNR_om_requete_dossier() {
348            // Instance de la classe Utils
349            require_once "../obj/utils.class.php";
350            @session_start();
351            $_SESSION['collectivite'] = 1;
352            $_SESSION['login'] = "admin";
353            $_SERVER['REQUEST_URI'] = "";
354            $f = new utils("nohtml");
355            $f->disableLog();
356            $GLOBALS["f"] = $f;
357    
358            $om_requete = $f->get_inst__om_dbform(array(
359                "obj" => "om_requete",
360                "idx" => 7,
361            ));
362    
363            // récupération de la requête SQL
364            $sql = $om_requete->getVal('requete');
365            // remplacement des &idx par la valeur du dossier
366            $sql = str_replace('&idx', "AT0130551300001P0", $sql);
367            // définition du schéma
368            $sql = str_replace('&DB_PREFIXE', DB_PREFIXE, $sql);
369            // exécution de la requête
370            $res = $f->db->query($sql);
371            $f->isDatabaseError($res);
372            $count = $res->numRows();
373            // La om_requete doit retourner une seule ligne
374            $this->assertEquals(1, $count);
375            // récupération du résultat de la om_requete
376            $values = &$res->fetchRow(DB_FETCHMODE_ASSOC);
377            // La valeur de la colonne nom_correspondant doit être le nom du pétitionnaire
378            // principal
379            $this->assertEquals("Dupont Jean", $values['nom_correspondant']);
380            // Destruction de la classe Utils
381            $f->__destruct();
382        }
383    
384        /**
385         * TNR de la methode factorisé de création de dossier_message
386         */
387        function test_06_TNR_dossier_message() {
388            // Instanciation de tout les requis
389            require_once "../obj/utils.class.php";
390            @session_start();
391            $_SESSION['collectivite'] = 2;
392            $_SESSION['login'] = "admin";
393            $_SERVER['REQUEST_URI'] = "";
394            $f = new utils("nohtml");
395            $f->disableLog();
396            $GLOBALS["f"] = $f;
397            $dossier_message_factory = $f->get_inst__om_dbform(array(
398                "obj" => "dossier_message",
399                "idx" => 0,
400            ));
401            $dossier_message_val = array();
402    
403            $dossier_message_val['contenu'] = 'Test Success';
404            $dossier_message_val['dossier'] = 'AT0130551200001P0';
405            $dossier_message_val['type'] = _('Ajout de pièce(s)');
406            $dossier_message_val['emetteur'] = 'instr';
407            $dossier_message_val['login'] = 'instr';
408            $dossier_message_val['date_emission'] = date('Y-m-d H:i:s');
409            $add = $dossier_message_factory->add_notification_message($dossier_message_val);
410            $this->assertEquals(true, $add);
411            $this->assertEquals(true, isset($dossier_message_factory->valF[$dossier_message_factory->clePrimaire]));
412            $dossier_message = $f->get_inst__om_dbform(array(
413                "obj" => "dossier_message",
414                "idx" => $dossier_message_factory->valF[$dossier_message_factory->clePrimaire],
415            ));
416            $this->assertEquals($dossier_message_val['dossier'], $dossier_message->getVal('dossier'));
417            $this->assertEquals('t', $dossier_message->getVal('lu'));
418            
419            $dossier_message_val['contenu'] = 'Test Duplicata';
420            $add = $dossier_message_factory->add_notification_message($dossier_message_val);
421            $this->assertEquals(true, $add);
422                    
423            $dossier_message_val['contenu'] = 'Test nouveau type même dossier';
424            $dossier_message_val['type'] = _('Autorisation contestée');
425            $add = $dossier_message_factory->add_notification_message($dossier_message_val);
426            $this->assertEquals(true, $add);
427            
428            $dossier_message_val['contenu'] = 'Test message non lu';
429            $dossier_message_val['dossier'] = 'AZ0130551200001P0';
430            $dossier_message_val['emetteur'] = $f->get_connected_user_login_name();
431            $dossier_message_val['login'] = $_SESSION['login'];
432            $add = $dossier_message_factory->add_notification_message($dossier_message_val);
433            $this->assertEquals(true, $add);
434            $dossier_message = $f->get_inst__om_dbform(array(
435                "obj" => "dossier_message",
436                "idx" => $dossier_message_factory->valF[$dossier_message_factory->clePrimaire],
437            ));
438            $this->assertEquals('f', $dossier_message->getVal('lu'));
439    
440            // Destruction de la classe Utils
441            $f->__destruct();
442        }
443    
444    
445  }  }
446    
447  ?>  ?>

Legend:
Removed from v.4073  
changed lines
  Added in v.8408

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26