1 |
<?php |
<?php |
2 |
/** |
/** |
3 |
* |
* Ce fichier regroupe les tests unitaire général à l'application OpenADS |
4 |
* |
* |
5 |
* @package openfoncier |
* @package openfoncier |
6 |
* @version SVN : $Id$ |
* @version SVN : $Id$ |
7 |
*/ |
*/ |
8 |
|
|
|
// |
|
|
require_once "base.php"; |
|
|
|
|
9 |
/** |
/** |
10 |
* Cette classe représente un testcase (thème) général qui contient des tests |
* Cette classe permet de tester unitairement les fonctions de l'application. |
|
* (fonctionnalités). |
|
11 |
*/ |
*/ |
12 |
class General extends Base2TestCase { |
class General extends PHPUnit_Framework_TestCase { |
13 |
|
|
14 |
/** |
/** |
15 |
* Ce test permet de vérifier qu'aucune requête mémorisée reqmo du menu |
* Méthode lancée en début de traitement |
|
* "Export" -> "Requêtes mémorisées" ne produit d'erreur de base de données. |
|
16 |
*/ |
*/ |
17 |
public function test_92_verifier_tous_les_exports_reqmo_inc() { |
public function setUp() { |
18 |
// On récupère la liste des objets à traiter |
|
19 |
$reqmos = $this->get_list_of_files_in_sql_pgsql("reqmo"); |
// Instancie la timezone |
20 |
// On se connecte en tant que "admin" |
date_default_timezone_set('Europe/Paris'); |
|
$this->login("admin", "admin"); |
|
|
|
|
|
// On clique sur la rubrique Export du menu |
|
|
//$this->byCssSelector("#menu li.rubrik a.edition-20")->click(); |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
|
|
//$this->verifynoerrors(); |
|
|
// On clique sur l'élément Requêtes mémorisées dans le menu |
|
|
//$this->byCssSelector("#menu li.elem a.reqmo-16")->click(); |
|
|
|
|
|
// On ouvre les reqmo par le lien car le menu n'est pas affiché |
|
|
$this->url("openads/scr/reqmo.php"); |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
|
|
$this->verifynoerrors(); |
|
|
// On boucle sur les requêtes mémorisées disponibles ( *.reqmo.inc.php ) |
|
|
foreach ($reqmos as $reqmo) { |
|
|
// On clique sur le lien qui correspond à la requête mémorisée |
|
|
$this->byCssSelector("#reqmo a.reqmo-16[href=\"../scr/requeteur.php?obj=".$reqmo["file"]."\"]")->click(); |
|
|
// On vérifie qu'il n'y ait pas d'erreur |
|
|
$this->verifynoerrors(); |
|
|
// On valide le formulaire |
|
|
$this->byName("valid.reqmo")->click(); |
|
|
// On vérifie qu'il n'y ait pas d'erreur |
|
|
$this->verifynoerrors(); |
|
|
// On clique sur le bouton retour |
|
|
$this->byCssSelector("a.retour")->click(); |
|
|
// On clique sur le bouton retour |
|
|
$this->byCssSelector("a.retour")->click(); |
|
|
} |
|
|
// On se déconnecte |
|
|
$this->logout(); |
|
21 |
} |
} |
22 |
|
|
|
// {{{ Fonctions utilitaires pour le fonctionnement des tests |
|
|
|
|
23 |
/** |
/** |
24 |
* Cette méthode permet de récupérer un tableau contentant la liste des |
* Méthode lancée en fin de traitement |
|
* fichiers présents dans le dossier sql/pgsql. En fonction du paramètre |
|
|
* passé la liste concerne les fichiers *.pdf.inc.php soit les fichiers |
|
|
* *.reqmo.inc.php. |
|
25 |
*/ |
*/ |
26 |
private function get_list_of_files_in_sql_pgsql($type = NULL) { |
public function tearDown() { |
27 |
|
|
28 |
// |
// |
29 |
if (is_null($type) || !in_array($type, array("pdf", "reqmo",))) { |
} |
30 |
// |
|
31 |
return array(); |
/** |
32 |
|
* Test la fonction mois_date() de la classe Utils. |
33 |
|
*/ |
34 |
|
public function test_utils_mois_date() { |
35 |
|
// Instance de la classe Utils |
36 |
|
require_once "../obj/utils.class.php"; |
37 |
|
$_SESSION['collectivite'] = 1; |
38 |
|
$_SESSION['login'] = "admin"; |
39 |
|
$_SERVER['REQUEST_URI'] = ""; |
40 |
|
$f = new utils("nohtml"); |
41 |
|
|
42 |
|
// Pour les additions |
43 |
|
// Initialisation des tableaux |
44 |
|
$tab_date_dep = array(); |
45 |
|
$tab_delay = array(); |
46 |
|
$tab_date_fin = array(); |
47 |
|
|
48 |
|
// Tableau des date de départ |
49 |
|
$tab_date_dep = array( |
50 |
|
0 => "2013-12-31", |
51 |
|
1 => "2014-01-31", |
52 |
|
2 => "2014-01-01", |
53 |
|
3 => "2014-01-31", |
54 |
|
4 => "2015-12-31", |
55 |
|
); |
56 |
|
// Tableau des delais |
57 |
|
$tab_delay = array( |
58 |
|
0 => "2", |
59 |
|
1 => "5", |
60 |
|
2 => "12", |
61 |
|
3 => "27", |
62 |
|
4 => "2", |
63 |
|
); |
64 |
|
// Tableau des date résultat |
65 |
|
$tab_date_fin = array( |
66 |
|
0 => "2014-02-28", |
67 |
|
1 => "2014-06-30", |
68 |
|
2 => "2015-01-01", |
69 |
|
3 => "2016-04-30", |
70 |
|
4 => "2016-02-29", |
71 |
|
); |
72 |
|
|
73 |
|
// Pour chaque date |
74 |
|
foreach ($tab_date_dep as $key => $date_dep) { |
75 |
|
// Calcul la date résultat |
76 |
|
$date_fin = $f->mois_date($date_dep, $tab_delay[$key], "+"); |
77 |
|
// Vérifie que la date résultat est correct |
78 |
|
$this->assertEquals($date_fin, $tab_date_fin[$key]); |
79 |
} |
} |
80 |
// |
|
81 |
$dir = getcwd(); |
// Pour les soustractions |
82 |
$dir = substr($dir, 0, strlen($dir) - 6)."/sql/pgsql/"; |
// Initialisation des tableaux |
83 |
$dossier = opendir($dir); |
$tab_date_dep = array(); |
84 |
$tab = array(); |
$tab_delay = array(); |
85 |
while ($entree = readdir($dossier)) { |
$tab_date_fin = array(); |
86 |
if (strstr($entree, $type)) { |
|
87 |
// Si l'extention du fichier $entree est .inc.php |
// Tableau des date de départ |
88 |
if (strpos($entree, ".inc.php")) { |
$tab_date_dep = array( |
89 |
$filext = strlen(".".$type.".inc.php"); |
0 => "2014-01-31", |
90 |
} else { |
); |
91 |
// Sinon on considere qu'elle est -> .inc (compatibilite) |
// Tableau des delais |
92 |
$filext = strlen(".".$type.".inc"); |
$tab_delay = array( |
93 |
} |
0 => "4", |
94 |
// |
); |
95 |
array_push($tab, array('file' => substr($entree, 0, strlen($entree) - $filext))); |
// Tableau des date résultat |
96 |
} |
$tab_date_fin = array( |
97 |
|
0 => "2013-09-30", |
98 |
|
); |
99 |
|
|
100 |
|
// Pour chaque date |
101 |
|
foreach ($tab_date_dep as $key => $date_dep) { |
102 |
|
// Calcul la date résultat |
103 |
|
$date_fin = $f->mois_date($date_dep, $tab_delay[$key], "-"); |
104 |
|
// Vérifie que la date résultat est correct |
105 |
|
$this->assertEquals($date_fin, $tab_date_fin[$key]); |
106 |
} |
} |
|
closedir($dossier); |
|
|
asort($tab); |
|
|
// |
|
|
return $tab; |
|
|
} |
|
107 |
|
|
108 |
// }}} |
// Destruction de la classe Utils |
109 |
|
$f->__destruct(); |
110 |
|
} |
111 |
|
|
112 |
} |
} |
113 |
|
|