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

Annotation of /trunk/tests/testControleFichiersUploades.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2112 - (hide annotations)
Wed Jul 24 17:08:32 2013 UTC (11 years, 6 months ago) by softime
File size: 8327 byte(s)
Ajout du champ dossier_libelle pour la table dossier
Ajout du champ dossier_autorisation_libelle pour la table dossier_autorisation
Génération OM
Modification des formulaires, messages, tableaux et fil d'Ariane pour affiché le numéro de dossier formaté
Traduction des nouveaux champs
Correction des tests utilisant les numéro de dossier
MàJ HISTORY.txt

1 vpihour 1873 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id: testControleFichiersUploades.php
7     */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     * Test des contrôles des contraintes sur les fichiers uploadés.
14     * Deux cas sont possibles :
15     * - utilisation des paramètres génériques de l'application ;
16     * - utilisation des paramètres spécifiques de la classe métier.
17     */
18     class ControleFichiersUploades extends BaseTestCase {
19    
20     /**
21     * Test de l'ajout d'un fichier dont le champ d'upload avec des contraintes
22     * génériques (celles qui se trouvent dans le fichier dyn/config.inc.php).
23     * L'administrateur ajoute un logo.
24     */
25 softime 1943 public function testCasContraintesGeneriques(){
26 softime 1965 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
27     $this->setSpeed('300');
28 vpihour 1873 // On se connecte en tant que "admin"
29     $this->login("admin", "admin");
30     // On clique sur le menu de paramétrage des logos
31 vpihour 1881 $this->clickAndWait("link=Logo");
32 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33     $this->verifyNoErrors();
34 vpihour 1881 //On clique sur le lien d'ajout de logo
35     $this->clickAndWait("css=.actions-max-2 a");
36 vpihour 1873 // On saisie des données
37     $this->type("id=id", "logo.jpg");
38     $this->type("id=libelle", "Un logo");
39     $this->type("id=actif");
40     //Ralenti l'exécution du script pour permettre au JS de se charger
41     $this->setSpeed('120');
42     //Clique sur le bouton pour ajouter un logo
43     $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
44     //Sélection de l'image
45     $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/image_1.jpg");
46     //Valide le téléchargement
47     $this->click("name=submit");
48     //On vérifie le message d'erreur
49 vpihour 1881 $this->assertText("css=#upload-container .message .text", 'Le fichier à charger excède la directive upload_max_filesize \(php\.ini\)\. \[image_1\.jpg\]');
50 vpihour 1873 //Sélection de l'image
51     $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/fichier_1.odt");
52     //Valide le téléchargement
53     $this->click("name=submit");
54     //On vérifie le message d'erreur
55 vpihour 1881 $this->assertText("css=#upload-container .message .text", "Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(\.gif;\.jpg;\.jpeg;\.png;\.txt;\.pdf;\.csv;\)\. \[fichier_1\.odt\]");
56 vpihour 1873 //Sélection de l'image
57     $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/image_2.jpg");
58     //Valide le téléchargement
59     $this->click("name=submit");
60     //On vérifie que le nom du fichier dans le champ
61 vpihour 1881 $this->assertValue("id=fichier_upload", "image_2\.jpg");
62 vpihour 1873 //Ajoute le logo en BDD
63     $this->clickAndWait("//input[@value='Ajouter']");
64     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
65     $this->verifyNoErrors();
66     //On vérifie que le logo s'est bien ajouté
67     $this->assertText("css=#tabs-1 .message .text", "Vos modifications ont bien été enregistrées.");
68     //On clique sur le lien "retour"
69 vpihour 1881 $this->clickAndWait("link=Retour");
70 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
71     $this->verifyNoErrors();
72     //On vérifie que le nouveau logo est dans le tableau
73 vpihour 1881 $this->assertText("css=tr:nth-child(3) .col-0", "6");
74     $this->assertText("css=tr:nth-child(3) .col-1", "logo.jpg");
75     $this->assertText("css=tr:nth-child(3) .col-2", "Un logo");
76 vpihour 1873 // On se déconnecte de l'application
77     $this->deconnect();
78     }
79    
80     /**
81     * Test de l'ajout d'un fichier dont le champ d'upload avec des contraintes
82     * spécifiques (celles qui se trouvent dans les classes métiers).
83     * L'instructeur ajoutera une nouvelle consultation pour le service n°1 sur le
84     * dossier AZ0130551200001P0 et ensuite le service consulté rendra un avis
85     * auquel il joindra un fichier.
86     */
87 softime 1943 public function testCasContraintesSpecifiques(){
88 softime 1967 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
89     $this->setSpeed('300');
90 vpihour 1873 // On se connecte en tant que "admin"
91     $this->login("instr", "instr");
92     // On clique sur le menu des encours
93     $this->clickAndWait("link=mes encours");
94     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
95     $this->verifyNoErrors();
96     // On clique sur le dossier AZ0130551200001P0
97 softime 2112 $this->clickAndWait("link=AZ 013055 12 00001P0");
98 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
99     $this->verifyNoErrors();
100     //Ralenti l'exécution du script pour permettre au JS de se charger
101     $this->setSpeed('120');
102     //On clique sur l'onglet consultation
103     $this->click("id=consultation");
104     //On clique sur le lien d'ajout de consultation
105     $this->click("css=.actions-max-2 a");
106     //On choisi le service numéro 1
107     $this->select("id=service","value=1");
108     //On ajoute la consultation
109     $this->click("//input[@value='Ajouter']");
110     //On vérifie que le logo s'est bien ajouté
111 vpihour 1881 $this->assertText("css=#sousform-consultation .message .text", 'regexp:.*Vos modifications ont bien été enregistrées.*');
112 vpihour 1873 //On retourne au tableau de consultation en cliquant sur le lien de retour
113     $this->click("css=#sousform-consultation .retour");
114     //On vérifie que la nouvelle consultation est dans le tableau
115 softime 1983 $this->assertText("css=.odd .col-0", "8");
116 vpihour 1873 $this->assertText("css=.odd .col-5", "Direction de l'Eau et de l'Assainissement");
117     //On se déconnecte de l'application
118     $this->deconnect();
119    
120     // On se connecte en tant que "admin"
121     $this->login("consu", "consu");
122     // On clique sur le menu des demandes en cours
123 vpihour 1881 $this->clickAndWait("link=Demandes en cours");
124 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
125     $this->verifyNoErrors();
126     // On clique sur la consultation que l'instructeur vient d'ajouter
127 softime 2112 $this->clickAndWait("link=AZ 013055 12 00001P0");
128 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
129     $this->verifyNoErrors();
130     //On clique sur le lien "Rendre un avis" du portlet d'actions
131     $this->click("css=.portlet-list li a");
132     //On tente d'ajouter un fichier trop gros
133     $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
134     //Sélection de l'image
135     $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/image_1.jpg");
136     //Valide le téléchargement
137     $this->click("name=submit");
138     //On vérifie le message d'erreur
139 vpihour 1881 $this->assertText("css=#upload-container .message .text", "Le fichier à charger excède la directive upload_max_filesize \(php\.ini\)\. \[image_1\.jpg\]");
140 vpihour 1873 //On tente d'ajouter un fichier avec une mauvais extension
141     $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/fichier_1.odt");
142     //Valide le téléchargement
143     $this->click("name=submit");
144     //On vérifie le message d'erreur
145 vpihour 1881 $this->assertText("css=#upload-container .message .text", "Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(.pdf\)\. \[fichier_1\.odt\]");
146 vpihour 1873 //On ajoute le bon fichier
147 vpihour 1874 $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
148 vpihour 1873 //Valide le téléchargement
149     $this->click("name=submit");
150     //On vérifie que le nom du fichier dans le champ
151 vpihour 1881 $this->assertValue("id=fichier_upload", "lettre_rar16042013124515.pdf");
152 vpihour 1874 //Ajoute le retour de consultation en BDD
153 vpihour 1873 $this->click("//input[@value='Modifier']");
154 vpihour 1874 //On vérifie que le retour de consultation a bien été pris en compte
155 vpihour 1881 $this->assertText("css=#sousform-consultation .message .text", 'regexp:.*Vos modifications ont bien été enregistrées.*');
156     //Retour au tableau des consultation demandant un avis
157     $this->click("class=ui-dialog-titlebar-close ui-corner-all");
158 vpihour 1873 //On se déconnecte de l'application
159     $this->deconnect();
160     }
161     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26