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

Annotation of /trunk/tests/testControleFichiersUploades.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2427 - (hide annotations)
Mon Oct 21 16:47:36 2013 UTC (11 years, 3 months ago) by softime
File size: 8709 byte(s)
Passage des tests de base 1 en base 2 pour éviter erreur aléatoire.

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 softime 2427 class ControleFichiersUploades extends Base2TestCase {
19 vpihour 1873
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 2427 public function testCasContraintesGeneriques() {
26 vpihour 1873 // On se connecte en tant que "admin"
27     $this->login("admin", "admin");
28 softime 2427 // On clique sur le menu "Paramétrage Dossiers"
29     $this->byLinkText("Paramétrage Dossiers")->click();
30 vpihour 1873 // On clique sur le menu de paramétrage des logos
31 softime 2427 $this->byLinkText("Logo")->click();
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 softime 2427 $this->byId("action-tab-om_logo-corner-ajouter")->click();
36     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37     $this->verifyNoErrors();
38 vpihour 1873 // On saisie des données
39 softime 2427 $this->byId("id")->value("logo.jpg");
40     $this->byId("libelle")->value("Un logo");
41     $this->byId("actif")->click();
42     // On clique sur le bouton pour ajouter un logo
43     $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
44 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
45     $this->verifyNoErrors();
46 softime 2427 // On sélectionne l'image
47     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/image_1.jpg");
48     // On valide le téléchargement
49     $this->byName("submit")->click();
50     // On vérifie le message d'erreur
51     $this->assertRegExp("/^[\s\S]*Le fichier à charger excède la directive upload_max_filesize \(php\.ini\)\. \[image_1\.jpg\][\s\S]*$/",$this->byCssSelector("#upload-container .message .text")->text());
52     // On sélectionne l'image
53     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/fichier_1.odt");
54     // On valide le téléchargement
55     $this->byName("submit")->click();
56     // On vérifie le message d'erreur
57     $this->assertRegExp("/^[\s\S]*Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(\.gif;\.jpg;\.jpeg;\.png;\.txt;\.pdf;\.csv;\)\. \[fichier_1\.odt\][\s\S]*$/",$this->byCssSelector("#upload-container .message .text")->text());
58     // On sélectionne l'image
59     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/image_2.jpg");
60     // On valide le téléchargement
61     $this->byName("submit")->click();sleep(5);
62     // On vérifie que le nom du fichier dans le champ
63     $this->assertContains("image_2.jpg", $this->byId("fichier_upload")->value());
64     // On ajoute le logo en BDD
65     $this->byXPath('//input[@value="Ajouter"]')->click();
66     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
67     $this->verifyNoErrors();
68 vpihour 1873 //On vérifie que le logo s'est bien ajouté
69 softime 2427 $this->assertContains("Vos modifications ont bien été enregistrées.",
70     $this->byCssSelector("#tabs-1 .message .text")->text());
71 vpihour 1873 //On clique sur le lien "retour"
72 softime 2427 $this->byLinkText("Retour")->click();
73 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
74     $this->verifyNoErrors();
75     //On vérifie que le nouveau logo est dans le tableau
76 softime 2427 $this->assertContains("Un logo", $this->byId("tab-om_logo")->text());
77 vpihour 1873 // On se déconnecte de l'application
78 fmichon 2183 $this->logout();
79 vpihour 1873 }
80    
81     /**
82     * Test de l'ajout d'un fichier dont le champ d'upload avec des contraintes
83     * spécifiques (celles qui se trouvent dans les classes métiers).
84     * L'instructeur ajoutera une nouvelle consultation pour le service n°1 sur le
85     * dossier AZ0130551200001P0 et ensuite le service consulté rendra un avis
86     * auquel il joindra un fichier.
87     */
88 softime 2427 public function testCasContraintesSpecifiques() {
89     // On se connecte en tant que "instr"
90 vpihour 1873 $this->login("instr", "instr");
91 softime 2427 // On clique sur le lien "Mes encours" dans le menu
92     $this->byLinkText("Mes Encours")->click();
93 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
94     $this->verifyNoErrors();
95     // On clique sur le dossier AZ0130551200001P0
96 softime 2427 $this->byLinkText("AZ 013055 12 00001P0")->click();
97 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
98     $this->verifyNoErrors();
99 softime 2427 // On clique sur l'onglet consultation
100     $this->byId("consultation")->click();
101     // On clique sur le lien d'ajout de consultation
102     $this->byId("action-soustab-consultation-corner-ajouter")->click();
103     // On choisi le service "Direction de l'Eau et de l'Assainissement"
104     $this->select($this->byId("service"))->selectOptionByValue("1");
105 vpihour 1873 //On ajoute la consultation
106 softime 2427 $this->byXPath('//input[@value="Ajouter"]')->click();sleep(5);
107 vpihour 1873 //On vérifie que le logo s'est bien ajouté
108 softime 2427 $this->assertContains("Vos modifications ont bien été enregistrées.",
109     $this->byCssSelector("#sousform-consultation .message .text")->text());
110     // On retourne au tableau de consultation en cliquant sur le lien de retour
111     $this->byCssSelector("#sousform-consultation .retour")->click();
112 vpihour 1873 //On se déconnecte de l'application
113     $this->deconnect();
114    
115 fmichon 2182 // On se connecte en tant que "consu"
116     // !!! Attention on n'utilise pas la méthode login standard car
117     // l'utilisateur est redirigé automatiquement vers un autre écran
118     // sans voir le message de connexion !!!
119     // On se connecte
120     $this->connect("consu", "consu");
121 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
122 fmichon 2210 $this->verifynoerrors();
123 vpihour 1873 // On clique sur la consultation que l'instructeur vient d'ajouter
124 softime 2427 $this->byLinkText("AZ 013055 12 00001P0")->click();
125 vpihour 1873 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
126     $this->verifyNoErrors();
127 softime 2427 // On clique sur le lien "Rendre un avis" du portlet d'actions
128     $this->byCssSelector(".portlet-list li a")->click();
129     // On tente d'ajouter un fichier trop gros
130     $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
131     // Sélection de l'image
132     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/image_1.jpg");
133     // Valide le téléchargement
134     $this->byName("submit")->click();
135 vpihour 1873 //On vérifie le message d'erreur
136 softime 2427 $this->assertRegExp("/^[\s\S]*Le fichier à charger excède la directive upload_max_filesize \(php\.ini\)\. \[image_1\.jpg\][\s\S]*$/",$this->byCssSelector("#upload-container .message .text")->text());
137 vpihour 1873 //On tente d'ajouter un fichier avec une mauvais extension
138 softime 2427 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/fichier_1.odt");
139 vpihour 1873 //Valide le téléchargement
140 softime 2427 $this->byName("submit")->click();
141 vpihour 1873 //On vérifie le message d'erreur
142 softime 2427 $this->assertRegExp("/^[\s\S]*Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(.pdf\)\. \[fichier_1\.odt\][\s\S]*$/",$this->byCssSelector("#upload-container .message .text")->text());
143     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/fichier_1.odt");
144 vpihour 1873 //On ajoute le bon fichier
145 softime 2427 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
146 vpihour 1873 //Valide le téléchargement
147 softime 2427 $this->byName("submit")->click();sleep(5);
148 vpihour 1873 //On vérifie que le nom du fichier dans le champ
149 softime 2427 $this->assertContains("lettre_rar16042013124515.pdf",
150     $this->byId("fichier_upload")->value());
151 vpihour 1874 //Ajoute le retour de consultation en BDD
152 softime 2427 $this->byXPath('//input[@value="Modifier"]')->click();
153 vpihour 1874 //On vérifie que le retour de consultation a bien été pris en compte
154 softime 2427 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-consultation .message .text")->text());
155     // On clique sur le bouton "Retour"
156     $this->byCssSelector(".ui-icon-closethick")->click();
157 vpihour 1873 //On se déconnecte de l'application
158 fmichon 2182 $this->logout();
159 vpihour 1873 }
160     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26