/[openfoncier]/branches/3.14.x/tests/base.php
ViewVC logotype

Diff of /branches/3.14.x/tests/base.php

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

trunk/tests/base.php revision 2416 by softime, Thu Oct 17 16:48:51 2013 UTC tags/3.14.0-b16/tests/base.php revision 3341 by vpihour, Wed Mar 18 15:50:17 2015 UTC
# Line 98  class Base2TestCase extends PHPUnit_Exte Line 98  class Base2TestCase extends PHPUnit_Exte
98       * Chemin dossier des screenshots       * Chemin dossier des screenshots
99       * @var string       * @var string
100       */       */
101      var $screenshotPath = '/var/www/openads/tests/screenshots/';      var $screenshotPath = '/var/www/openads/tests/results/';
102    
103      /**      /**
104       * Option capture d'écran       * Option capture d'écran
# Line 116  class Base2TestCase extends PHPUnit_Exte Line 116  class Base2TestCase extends PHPUnit_Exte
116          //$this->setBrowser("chrome");          //$this->setBrowser("chrome");
117          // On positionne l'URL de base          // On positionne l'URL de base
118          $this->setBrowserUrl("http://localhost/");          $this->setBrowserUrl("http://localhost/");
119            // Instancie la timezone
120            date_default_timezone_set('Europe/Paris');
121      }      }
122    
123      /**      /**
# Line 153  class Base2TestCase extends PHPUnit_Exte Line 155  class Base2TestCase extends PHPUnit_Exte
155      protected function connect($login, $password) {      protected function connect($login, $password) {
156          // On ouvre l'url openexemple          // On ouvre l'url openexemple
157          $this->url($this->url);          $this->url($this->url);
158            $this->timeouts()->implicitWait(2000);
159          // On saisit le login dans le champ login          // On saisit le login dans le champ login
160          $this->byName("login")->value($login);          $this->byId("login")->clear();
161            $this->byId("login")->value($login);
162          // On saisit le mot de passe dans le champ mot de passe          // On saisit le mot de passe dans le champ mot de passe
163          $this->byName("password")->value($password);          $this->byId("password")->clear();
164            $this->byId("password")->value($password);
165          // On clique sur le bouton de connexion          // On clique sur le bouton de connexion
166          $this->byname("login.action.connect")->click();          $this->byname("login.action.connect")->click();
167      }      }
# Line 187  class Base2TestCase extends PHPUnit_Exte Line 192  class Base2TestCase extends PHPUnit_Exte
192      }      }
193    
194      /**      /**
195       * Cette méthode permet de déconnecter l'utilisateur et de vérifier que la       * Cette méthode vérifier que la déconnexion s'est bien déroulée.
      * déconnexion s'est bien déroulée.  
196       */       */
197      protected function logout() {      protected function verifyDeconnect() {
         // On se déconnecte  
         $this->deconnect();  
198          // Réduit le temps d'attente lors de la recherche d'élément          // Réduit le temps d'attente lors de la recherche d'élément
199          $this->timeouts()->implicitWait(240);          $this->timeouts()->implicitWait(240);
200          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
# Line 210  class Base2TestCase extends PHPUnit_Exte Line 212  class Base2TestCase extends PHPUnit_Exte
212      }      }
213    
214      /**      /**
215         * Cette méthode permet de déconnecter l'utilisateur et de vérifier que la
216         * déconnexion s'est bien déroulée.
217         */
218        protected function logout() {
219            // On se déconnecte
220            $this->deconnect();
221            // On vérifie que la déconnexion s'est bien déroulée
222            $this->verifyDeconnect();
223        }
224    
225        /**
226       * Cette méthode permet de fair un assert sur la NON présence d'un message       * Cette méthode permet de fair un assert sur la NON présence d'un message
227       * indiquant une erreur de base de données ou une notice PHP.       * indiquant une erreur de base de données ou une notice PHP.
228       * XXX Remplacer les tests par des expressions régulières pour améliorer       * XXX Remplacer les tests par des expressions régulières pour améliorer
# Line 264  class Base2TestCase extends PHPUnit_Exte Line 277  class Base2TestCase extends PHPUnit_Exte
277      }      }
278    
279      /**      /**
280       * Cette méthode est un test (fonctionnalité) qui permet de tester le       * Cette fonction permet de cliquer sur le menu si celui-ci n'est pas déjà
281       * fonctionnement de la classe Base2TestCase       * ouvert de base en fonction de l'utilisateur
282         * @param  string   $menu           Titre du menu
283         * @param  array    $utilisateur    Login et mdp de l'utilisateur
284       */       */
285      //public function test_login_logout() {      public function openMenu($menu, $utilisateur) {
286      //    // On se connecte avec l'utilisateur admin          // Si le menu est 'Guichet Unique'
287      //    $this->login("admin", "admin");          if ($menu == 'Guichet Unique') {
288      //    // On se déconnecte              // Vérifie les utilisateurs
289      //    $this->logout();              if ($utilisateur["login"] != "guichet") {
290      //}                  // Clique sur le menu
291                    $this->byLinkText($menu)->click();
292                    $this->verifyNoErrors();
293                }
294            }
295            // Si le menu est 'Instruction'
296            if ($menu == 'Instruction') {
297                // Vérifie les utilisateurs
298                if ($utilisateur["login"] != "instr"
299                    && $utilisateur["login"] != "visudadi"
300                    && $utilisateur["login"] != "divi"
301                    && $utilisateur["login"] != "chef"
302                    && $utilisateur["login"] != "adminfonct") {
303                    // Clique sur le menu
304                    $this->byLinkText($menu)->click();
305                    $this->verifyNoErrors();
306                }
307            }
308            // Si le menu est 'Suivi'
309            if ($menu == 'Suivi') {
310                // Vérifie les utilisateurs
311                if ($utilisateur["login"] != "suivi") {
312                    // Clique sur le menu
313                    $this->byLinkText($menu)->click();
314                    $this->verifyNoErrors();
315                }
316            }
317            // Si le menu est 'Demandes D'avis'
318            if ($menu == "Demandes D'avis") {
319                //  Vérifie les utilisateurs
320                if ($utilisateur["login"] != "consu"
321                    && $utilisateur["login"] != "consu1"
322                    && $utilisateur["login"] != "consu2") {
323                    // Clique sur le menu
324                    $this->byLinkText($menu)->click();
325                    $this->verifyNoErrors();
326                }
327            }
328        }
329    
330        /**
331         * COPIE DE LA FONCTION mois_date() DE LA CLASSE utils
332         */
333        /**
334         * Calcule uen date avec l'ajout ou le soustrait de mois.
335         * @param date    $date     Date de base
336         * @param integer $delay    Délais à ajouter (en mois)
337         * @param string  $operator Opérateur pour le calcul ("-" ou "+")
338         *
339         * @return date             Date calculée
340         */
341        function mois_date($date, $delay, $operator = "+") {
342    
343            // Découpage de la date
344            $temp = explode("-", $date);
345            $day = (int) $temp[2];
346            $month = (int) $temp[1];
347            $year = (int) $temp[0];
348    
349            // Si c'est une addition
350            if ($operator == '+') {
351                // Année à ajouter
352                $year += floor($delay / 12);
353                // Mois restant
354                $nb_month = ($delay % 12);
355                // S'il y a des mois restant
356                if ($nb_month != 0) {
357                    // Ajout des mois restant
358                    $month += $nb_month;
359                    // Si ça dépasse le mois 12 (décembre)
360                    if ($month > 12) {
361                        // Soustrait 12 au mois
362                        $month -= 12;
363                        // Ajoute 1 à l'année
364                        $year += 1;
365                    }
366                }
367            }
368    
369            // Si c'est une soustraction
370            if ($operator == "-") {
371                // Année à soustraire
372                $year -= floor($delay / 12);
373                // Mois restant
374                $nb_month = ($delay % 12);
375                // S'il y a des mois restant
376                if ($nb_month != 0) {
377                    // Soustrait le délais
378                    $month -= $nb_month;
379                    // Si ça dépasse le mois 1 (janvier)
380                    if ($month < 1) {
381                        // Soustrait 12 au mois
382                        $month += 12;
383                        // Ajoute 1 à l'année
384                        $year -= 1;
385                    }
386                }
387            }
388    
389            // Calcul du nombre de jours dans le mois sélectionné
390            switch($month) {
391                // Mois de février
392                case "2":
393                    if ($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) {
394                        $day_max = 29;
395                    } else {
396                        $day_max = 28;
397                    }
398                break;
399                // Mois d'avril, juin, septembre et novembre
400                case "4":
401                case "6":
402                case "9":
403                case "11":
404                    $day_max = 30;
405                break;
406                // Mois de janvier, mars, mai, juillet, août, octobre et décembre
407                default:
408                    $day_max = 31;
409            }
410    
411            // Si le jour est supérieur au jour maximum du mois
412            if ($day > $day_max) {
413                // Le jour devient le jour maximum
414                $day = $day_max;
415            }
416    
417            // Compléte le mois et le jour par un 0 à gauche si c'est un chiffre
418            $month = str_pad($month, 2, "0", STR_PAD_LEFT);
419            $day = str_pad($day, 2, "0", STR_PAD_LEFT);
420    
421            // Retourne la date calculée
422            return $year."-".$month."-".$day ;
423        }
424    
425  }  }
426    

Legend:
Removed from v.2416  
changed lines
  Added in v.3341

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26