1 |
mbroquet |
3730 |
<?php |
2 |
|
|
/** |
3 |
|
|
* Classe de test du menu Administration. |
4 |
|
|
* |
5 |
|
|
* @package openads |
6 |
|
|
* @version SVN : $Id: testAdministration.php 5673 2015-12-21 19:35:24Z nmeucci $ |
7 |
|
|
*/ |
8 |
|
|
|
9 |
|
|
// |
10 |
|
|
require_once "base.php"; |
11 |
|
|
|
12 |
|
|
/** |
13 |
|
|
* |
14 |
|
|
*/ |
15 |
|
|
class Administration extends Base2TestCase { |
16 |
|
|
|
17 |
|
|
/** |
18 |
|
|
* Fonction lancée en debut de chaque test |
19 |
|
|
*/ |
20 |
|
|
public function setUp() { |
21 |
|
|
parent::setUp(); |
22 |
|
|
echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n"; |
23 |
|
|
} |
24 |
|
|
|
25 |
|
|
public function onNotSuccessfulTest(Exception $e){ |
26 |
|
|
echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; |
27 |
|
|
parent::onNotSuccessfulTest($e); |
28 |
|
|
} |
29 |
|
|
|
30 |
|
|
/** |
31 |
|
|
* Test la synchronisation des utilisateurs avec le ldap |
32 |
|
|
* Les utilisateurs qui devront être ajoutés et mise à jour : |
33 |
|
|
* arnaud.lelache@meyreuil, bob.ho@meyreuil et thierry.benita@meyreuil |
34 |
|
|
* Et les utilisateurs qui devront être supprimés : |
35 |
|
|
* ldap_instructeur et ldap_service |
36 |
|
|
*/ |
37 |
|
|
public function test_01_synchronisation_ldap() { |
38 |
|
|
|
39 |
|
|
// On se connecte à l'application |
40 |
|
|
$this->login("admin", "admin"); |
41 |
|
|
// On clique sur le menu "Administration" |
42 |
|
|
$this->byLinkText("Administration")->click(); |
43 |
|
|
// On clique sur le sous-menu "Annuaire" |
44 |
|
|
$this->byLinkText("Annuaire")->click(); |
45 |
|
|
// On vérifie qu'il y ait 3 utilisateurs à ajouter |
46 |
|
|
$this->assertRegExp("/^[\s\S]*Il y a 3 utilisateur\(s\) présent\(s\) dans l'annuaire et non présent\(s\) dans la base => 3 ajout\(s\)[\s\S]*$/", $this->byId("formulaire")->text()); |
47 |
|
|
// On vérifie qu'il y ait 2 utilisateurs à supprimer |
48 |
|
|
$this->assertRegExp("/^[\s\S]*Il y a 2 utilisateur\(s\) présent\(s\) dans la base et non présent\(s\) dans l'annuaire => 2 suppression\(s\)[\s\S]*$/", $this->byId("formulaire")->text()); |
49 |
|
|
// On clique sur "Synchroniser" |
50 |
|
|
$this->byCssSelector("#formulaire .boutonFormulaire")->click(); |
51 |
|
|
// On vérifie que tout s'est bien passé |
52 |
|
|
$this->assertRegExp("/^[\s\S]*La synchronisation des utilisateurs est terminée.[\s\S]*$/", $this->byCssSelector(".message")->text()); |
53 |
|
|
// On clique sur le sous-menu "Utilisateur" |
54 |
|
|
$this->byLinkText("Utilisateur")->click(); |
55 |
|
|
// On vérifie sur la première page qu'il y a 2 nouveaux utilisateurs |
56 |
|
|
// et que les utilisateurs ldap_instructeur et ldap_service n'y sont plus |
57 |
|
|
$this->assertRegExp("/^[\s\S]*arnaud.lelache@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text()); |
58 |
|
|
$this->assertRegExp("/^[\s\S]*bob.ho@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text()); |
59 |
|
|
$this->assertNotContains("ldap_instructeur", $this->byId("tab-om_utilisateur")->text()); |
60 |
|
|
$this->assertNotContains("ldap_service", $this->byId("tab-om_utilisateur")->text()); |
61 |
|
|
// On change de page |
62 |
|
|
$this->byCssSelector(".pagination-next")->click(); |
63 |
|
|
// On vérifie sur la deuxième page qu'il y a 1 nouveau utilisateur |
64 |
|
|
// et que les utilisateurs ldap_instructeur et ldap_service n'y sont plus |
65 |
|
|
$this->assertRegExp("/^[\s\S]*thierry.benita@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text()); |
66 |
|
|
$this->assertNotContains("ldap_instructeur", $this->byId("tab-om_utilisateur")->text()); |
67 |
|
|
$this->assertNotContains("ldap_service", $this->byId("tab-om_utilisateur")->text()); |
68 |
|
|
// On clique sur le sous-menu "Annuaire" |
69 |
|
|
$this->byLinkText("Annuaire")->click(); |
70 |
|
|
// On vérifie qu'il y ait 3 utilisateurs à mettre à jour |
71 |
|
|
$this->assertRegExp("/^[\s\S]*Il y a 3 utilisateur\(s\) présent\(s\) à la fois dans la base et l'annuaire => 3 mise\(s\) à jour[\s\S]*$/", $this->byId("formulaire")->text()); |
72 |
|
|
// On clique sur "Synchroniser" |
73 |
|
|
$this->byCssSelector("#formulaire .boutonFormulaire")->click(); |
74 |
|
|
// On vérifie que tout s'est bien passé |
75 |
|
|
$this->assertRegExp("/^[\s\S]*La synchronisation des utilisateurs est terminée.[\s\S]*$/", $this->byCssSelector(".message")->text()); |
76 |
|
|
// On se déconnecte |
77 |
|
|
$this->logout(); |
78 |
|
|
|
79 |
|
|
} |
80 |
|
|
|
81 |
|
|
/** |
82 |
|
|
* Test l'ajout de numéro de versement aux archives par lot grâce à un |
83 |
|
|
* fichier csv, pour les dossiers |
84 |
|
|
*/ |
85 |
|
|
public function test_02_versement_aux_archives() { |
86 |
|
|
|
87 |
|
|
// On se connecte en tant que "suivi" |
88 |
|
|
$this->login("suivi", "suivi"); |
89 |
|
|
// On clique sur le menu "Export / Import" |
90 |
|
|
$this->byLinkText("Export / Import")->click(); |
91 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
92 |
|
|
$this->verifyNoErrors(); |
93 |
|
|
// On clique sur le sous-menu "Versement Aux Archives" |
94 |
|
|
$this->byLinkText("Versement Aux Archives")->click(); |
95 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
96 |
|
|
$this->verifyNoErrors(); |
97 |
|
|
// On remplit le champ "insee" |
98 |
|
|
$this->byId("insee")->value("01234"); |
99 |
|
|
// On clic sur le bouton pour ajouter un fichier |
100 |
|
|
$this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click(); |
101 |
|
|
// On sélectionne un fichier binaire pour tester l'erreur |
102 |
|
|
$this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf"); |
103 |
|
|
$this->byName("submit")->click(); |
104 |
|
|
// On vérifié que l'on a une erreur de format |
105 |
|
|
$this->assertContains("Le fichier n'est pas conforme à la liste des extension(s) autorisée(s) (.csv). [lettre_rar16042013124515.pdf]", $this->byCssSelector(".message span.text")->text()); |
106 |
|
|
// On clique sur le bouton fermer |
107 |
|
|
$this->byLinkText("Fermer")->click(); |
108 |
|
|
// On clic sur le bouton "Importer" |
109 |
|
|
$this->byId("button-versement_archives-importer")->click(); |
110 |
|
|
// On vérifie le message d'erreur |
111 |
|
|
$this->assertContains("Vous n'avez pas sélectionné de fichier à importer.", $this->byCssSelector(".message")->text()); |
112 |
|
|
// On vérifie que le code insee est toujours celui indiqué par |
113 |
|
|
// l'utilisateur |
114 |
|
|
$this->assertEquals("01234", $this->byId("insee")->attribute('value')); |
115 |
|
|
// On clic sur le bouton pour ajouter un fichier |
116 |
|
|
$this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click(); |
117 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
118 |
|
|
$this->verifyNoErrors(); |
119 |
|
|
// On sélectionne le fichier csv |
120 |
|
|
$this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/versement_archives.csv"); |
121 |
|
|
$this->byName("submit")->click();sleep(5); |
122 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
123 |
|
|
$this->verifyNoErrors(); |
124 |
|
|
// On clic sur le bouton "Importer" |
125 |
|
|
$this->byId("button-versement_archives-importer")->click();sleep(5); |
126 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
127 |
|
|
$this->verifyNoErrors(); |
128 |
|
|
// On vérifie qu'il y a le message de validation d'import du csv |
129 |
|
|
$this->assertContains("Il y a eu 6 ligne(s) lue(s), 1 ligne(s) acceptée(s), 3 ligne(s) rejetée(s) et 2 ligne(s) ignorée(s)", $this->byCssSelector(".message")->text()); |
130 |
|
|
// On se déconnecte |
131 |
|
|
$this->deconnect(); |
132 |
|
|
|
133 |
|
|
// On se connecte en tant que "instr" |
134 |
|
|
$this->login("instr", "instr"); |
135 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
136 |
|
|
$this->verifyNoErrors(); |
137 |
|
|
// On clique sur le sous-menu "Recherche" |
138 |
|
|
$this->byLinkText("Recherche")->click(); |
139 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
140 |
|
|
$this->verifyNoErrors(); |
141 |
|
|
// On clique sur le dossier d'instruction ("PC 013055 12 00001P0") |
142 |
|
|
$this->byLinkText("PC 013055 12 00001P0")->click(); |
143 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
144 |
|
|
$this->verifyNoErrors(); |
145 |
|
|
// On vérifie le numéro de versement aux archives |
146 |
|
|
$this->assertEquals("1025W 444444", $this->byId("numero_versement_archive")->text()); |
147 |
|
|
// On se déconnecte |
148 |
|
|
$this->logout(); |
149 |
|
|
|
150 |
|
|
} |
151 |
|
|
|
152 |
|
|
} |
153 |
|
|
|
154 |
|
|
?> |