1 |
<?php |
2 |
/** |
3 |
* |
4 |
*/ |
5 |
|
6 |
// |
7 |
require_once "base.php"; |
8 |
|
9 |
class General extends Base2TestCase { |
10 |
|
11 |
/** |
12 |
* Ce test permet de vérifier qu'aucune requête mémorisée reqmo du menu |
13 |
* "Export" -> "Requêtes mémorisées" ne produit d'erreur de base de données. |
14 |
*/ |
15 |
public function test_92_verifier_tous_les_exports_reqmo_inc() { |
16 |
// On récupère la liste des objets à traiter |
17 |
$reqmos = $this->get_list_of_files_in_sql_pgsql("reqmo"); |
18 |
// On se connecte en tant que "admin" |
19 |
$this->login("admin", "admin"); |
20 |
|
21 |
// On clique sur la rubrique Export du menu |
22 |
//$this->byCssSelector("#menu li.rubrik a.edition-20")->click(); |
23 |
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
24 |
//$this->verifynoerrors(); |
25 |
// On clique sur l'élément Requêtes mémorisées dans le menu |
26 |
//$this->byCssSelector("#menu li.elem a.reqmo-16")->click(); |
27 |
|
28 |
// On ouvre les reqmo par le lien car le menu n'est pas affiché |
29 |
$this->url("openads/scr/reqmo.php"); |
30 |
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
31 |
$this->verifynoerrors(); |
32 |
// On boucle sur les requêtes mémorisées disponibles ( *.reqmo.inc.php ) |
33 |
foreach ($reqmos as $reqmo) { |
34 |
// On clique sur le lien qui correspond à la requête mémorisée |
35 |
$this->byCssSelector("#reqmo a.reqmo-16[href=\"../scr/requeteur.php?obj=".$reqmo["file"]."\"]")->click(); |
36 |
// On vérifie qu'il n'y ait pas d'erreur |
37 |
$this->verifynoerrors(); |
38 |
// On valide le formulaire |
39 |
$this->byName("valid.reqmo")->click(); |
40 |
// On vérifie qu'il n'y ait pas d'erreur |
41 |
$this->verifynoerrors(); |
42 |
// On clique sur le bouton retour |
43 |
$this->byCssSelector("a.retour")->click(); |
44 |
// On clique sur le bouton retour |
45 |
$this->byCssSelector("a.retour")->click(); |
46 |
} |
47 |
// On se déconnecte |
48 |
$this->logout(); |
49 |
} |
50 |
|
51 |
// {{{ Fonctions utilitaires pour le fonctionnement des tests |
52 |
|
53 |
/** |
54 |
* Cette méthode permet de récupérer un tableau contentant la liste des |
55 |
* fichiers présents dans le dossier sql/pgsql. En fonction du paramètre |
56 |
* passé la liste concerne les fichiers *.pdf.inc.php soit les fichiers |
57 |
* *.reqmo.inc.php. |
58 |
*/ |
59 |
private function get_list_of_files_in_sql_pgsql($type = NULL) { |
60 |
// |
61 |
if (is_null($type) || !in_array($type, array("pdf", "reqmo",))) { |
62 |
// |
63 |
return array(); |
64 |
} |
65 |
// |
66 |
$dir = getcwd(); |
67 |
$dir = substr($dir, 0, strlen($dir) - 6)."/sql/pgsql/"; |
68 |
$dossier = opendir($dir); |
69 |
$tab = array(); |
70 |
while ($entree = readdir($dossier)) { |
71 |
if (strstr($entree, $type)) { |
72 |
// Si l'extention du fichier $entree est .inc.php |
73 |
if (strpos($entree, ".inc.php")) { |
74 |
$filext = strlen(".".$type.".inc.php"); |
75 |
} else { |
76 |
// Sinon on considere qu'elle est -> .inc (compatibilite) |
77 |
$filext = strlen(".".$type.".inc"); |
78 |
} |
79 |
// |
80 |
array_push($tab, array('file' => substr($entree, 0, strlen($entree) - $filext))); |
81 |
} |
82 |
} |
83 |
closedir($dossier); |
84 |
asort($tab); |
85 |
// |
86 |
return $tab; |
87 |
} |
88 |
|
89 |
// }}} |
90 |
} |
91 |
?> |