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

Contents of /trunk/tests/testAdministration.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (show annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 8145 byte(s)
Actualisation du trunk
1 <?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 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26