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

Annotation of /trunk/tests/testAdministration.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2445 - (hide annotations)
Wed Nov 6 14:15:17 2013 UTC (11 years, 2 months ago) by softime
File size: 6639 byte(s)
Ajout de l'outil d'intégration par lot du versement aux archives :
- Ajout du script app/versement_archives.php
- Modification du menu pour faire apparaître le script dans Export / Import
- TRADUCTIONS
- Ajout des tests fonctionnels
- Modification de données de test dans data/pgsql/init_data.sql nécessaire pour les tests de l'outil
- Ajout d'un fichier CSV pour les tests dans tests/binary_files/
1 softime 2347 <?php
2     /**
3     * Classe de test du menu Administration.
4     *
5     * @package openads
6     * @version SVN : $Id$
7     */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     *
14     */
15     class Administration extends Base2TestCase {
16    
17     /**
18     * Test la synchronisation des utilisateurs avec le ldap
19     * Les utilisateurs qui devront être ajoutés et mise à jour :
20     * arnaud.lelache@meyreuil, bob.ho@meyreuil et thierry.benita@meyreuil
21     * Et les utilisateurs qui devront être supprimés :
22     * ldap_instructeur et ldap_service
23     */
24     public function test_01_synchronisation_ldap() {
25    
26     // On se connecte à l'application
27     $this->login("admin", "admin");
28     // On clique sur le menu "Administration"
29     $this->byLinkText("Administration")->click();
30     // On clique sur le sous-menu "Annuaire"
31     $this->byLinkText("Annuaire")->click();
32     // On vérifie qu'il y ait 3 utilisateurs à ajouter
33     $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("directory")->text());
34     // On vérifie qu'il y ait 2 utilisateurs à supprimer
35     $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("directory")->text());
36     // On clique sur "Synchroniser"
37     $this->byCssSelector("#directory .boutonFormulaire")->click();
38     // On vérifie que tout s'est bien passé
39     $this->assertRegExp("/^[\s\S]*La synchronisation des utilisateurs est terminée.[\s\S]*$/", $this->byCssSelector(".message")->text());
40     // On clique sur le sous-menu "Utilisateur"
41     $this->byLinkText("Utilisateur")->click();
42     // On vérifie sur la première page qu'il y a 2 nouveaux utilisateurs
43     // et que les utilisateurs ldap_instructeur et ldap_service n'y sont plus
44     $this->assertRegExp("/^[\s\S]*arnaud.lelache@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text());
45     $this->assertRegExp("/^[\s\S]*bob.ho@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text());
46     $this->assertNotContains("ldap_instructeur", $this->byId("tab-om_utilisateur")->text());
47     $this->assertNotContains("ldap_service", $this->byId("tab-om_utilisateur")->text());
48     // On change de page
49     $this->byCssSelector(".pagination-next")->click();
50     // On vérifie sur la deuxième page qu'il y a 1 nouveau utilisateur
51     // et que les utilisateurs ldap_instructeur et ldap_service n'y sont plus
52     $this->assertRegExp("/^[\s\S]*thierry.benita@meyreuil[\s\S]*$/", $this->byId("tab-om_utilisateur")->text());
53     $this->assertNotContains("ldap_instructeur", $this->byId("tab-om_utilisateur")->text());
54     $this->assertNotContains("ldap_service", $this->byId("tab-om_utilisateur")->text());
55     // On clique sur le sous-menu "Annuaire"
56     $this->byLinkText("Annuaire")->click();
57     // On vérifie qu'il y ait 3 utilisateurs à mettre à jour
58     $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("directory")->text());
59     // On clique sur "Synchroniser"
60     $this->byCssSelector("#directory .boutonFormulaire")->click();
61     // On vérifie que tout s'est bien passé
62     $this->assertRegExp("/^[\s\S]*La synchronisation des utilisateurs est terminée.[\s\S]*$/", $this->byCssSelector(".message")->text());
63     // On se déconnecte
64     $this->logout();
65    
66     }
67 softime 2445
68     /**
69     * Test l'ajout de numéro de versement aux archives par lot grâce à un
70     * fichier csv, pour les dossiers
71     */
72     public function test_02_versement_aux_archives() {
73    
74     // On se connecte à l'application
75     $this->login("admin", "admin");
76     // On clique sur le menu "Export / Import"
77     $this->byLinkText("Export / Import")->click();
78     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
79     $this->verifyNoErrors();
80     // On clique sur le sous-menu "Versement Aux Archives"
81     $this->byLinkText("Versement Aux Archives")->click();
82     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
83     $this->verifyNoErrors();
84     // On remplit le champ "insee"
85     $this->byId("insee")->value("01234");
86     // On clic sur le bouton "Importer"
87     $this->byId("button-versement_archives-importer")->click();
88     // On vérifie le message d'erreur
89     $this->assertContains("Vous n'avez pas séléctionne de fichier à importer.", $this->byCssSelector(".message")->text());
90     // On vérifie que le code insee est toujours celui indiqué par
91     // l'utilisateur
92     $this->assertContains("01234", $this->byId("insee")->value());
93     // On clic sur le bouton pour ajouter un fichier
94     $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
95     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
96     $this->verifyNoErrors();
97     // On sélectionne le fichier csv
98     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/versement_archives.csv");
99     $this->byName("submit")->click();
100     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
101     $this->verifyNoErrors();
102     // On clic sur le bouton "Importer"
103     $this->byId("button-versement_archives-importer")->click();
104     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
105     $this->verifyNoErrors();
106     // On vérifie le message
107     $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());
108     // On vérifie le CSV à télécharger
109     $this->assertContains("ligne ignorée : code insee différent de celui indiqué dans le formulaire.", $this->byId("content_versement_archives")->text());
110     $this->assertContains("ligne rejetée : dossier inexistant dans l'application.", $this->byId("content_versement_archives")->text());
111     $this->assertContains("ligne acceptée : dossier mis à jour.", $this->byId("content_versement_archives")->text());
112     $this->assertContains("ligne rejetée : nombre de séparateur incorrect.", $this->byId("content_versement_archives")->text());
113     $this->assertContains("ligne rejetée : contenu non conforme.", $this->byId("content_versement_archives")->text());
114     // On se déconnecte
115     $this->logout();
116    
117     }
118 softime 2347
119     }
120    
121     ?>

Properties

Name Value
svn:Keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26