1 |
mbroquet |
3730 |
<?php |
2 |
|
|
/** |
3 |
|
|
* Fichier contenant la classe test pour le service de consultation |
4 |
|
|
* |
5 |
|
|
* @package openfoncier |
6 |
|
|
* @version SVN : $Id: testServiceConsulte.php 5673 2015-12-21 19:35:24Z nmeucci $ |
7 |
|
|
*/ |
8 |
|
|
|
9 |
|
|
// |
10 |
|
|
require_once "base.php"; |
11 |
|
|
|
12 |
|
|
/** |
13 |
|
|
* Classe test du service de consultation |
14 |
|
|
*/ |
15 |
|
|
class ServiceConsulte extends Base2TestCase { |
16 |
|
|
/** |
17 |
|
|
* Fonction lancée en debut de chaque test |
18 |
|
|
*/ |
19 |
|
|
public function setUp() { |
20 |
|
|
parent::setUp(); |
21 |
|
|
echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n"; |
22 |
|
|
} |
23 |
|
|
|
24 |
|
|
public function onNotSuccessfulTest(Exception $e){ |
25 |
|
|
echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; |
26 |
|
|
parent::onNotSuccessfulTest($e); |
27 |
|
|
} |
28 |
|
|
|
29 |
|
|
// le test pour les avis en cours se fait dans testConsultations.php |
30 |
|
|
|
31 |
|
|
/** |
32 |
|
|
* test sur les demandes d'avis passées |
33 |
|
|
*/ |
34 |
|
|
public function test_01_DemandesAvisPassees() { |
35 |
|
|
|
36 |
|
|
// Instanciation de la classe utils |
37 |
|
|
require_once "../obj/utils.class.php"; |
38 |
|
|
@session_start(); |
39 |
|
|
$_SESSION['collectivite'] = 1; |
40 |
|
|
$_SESSION['login'] = "admin"; |
41 |
|
|
$_SERVER['REQUEST_URI'] = ""; |
42 |
|
|
$f = new utils("nohtml"); |
43 |
|
|
// On se connecte en tant que "consu" |
44 |
|
|
// !!! Attention on n'utilise pas la méthode login standard car |
45 |
|
|
// l'utilisateur est redirigé automatiquement vers un autre écran |
46 |
|
|
// sans voir le message de connexion !!! |
47 |
|
|
// On se connecte |
48 |
|
|
$this->connect("consu", "consu"); |
49 |
|
|
// Allonge le temps d'attente lors de la recherche d'élément |
50 |
|
|
$this->timeouts()->implicitWait(10000); |
51 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
52 |
|
|
$this->verifynoerrors(); |
53 |
|
|
// On temporise pour laisser le temps au javascript de redirection |
54 |
|
|
// de faire son travail |
55 |
|
|
sleep(1); |
56 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
57 |
|
|
$this->verifynoerrors(); |
58 |
|
|
// on clique sur le menu |
59 |
|
|
$this->byLinkText("Demandes Passées")->click(); |
60 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
61 |
|
|
$this->verifynoerrors(); |
62 |
|
|
// On stocke la date limite de consultation (M+1) |
63 |
|
|
$date_limite = $f->mois_date(date("Y-m-d"), 1, "+"); |
64 |
|
|
// On extrait l'année |
65 |
|
|
$date_limite = explode('-', $date_limite); |
66 |
|
|
$this->byName("recherche")->value("*".$date_limite[0]); |
67 |
|
|
$this->byName("classic-search-submit")->submit(); |
68 |
|
|
$this->byLinkText("pour conformite")->click(); |
69 |
|
|
// on vérifie qu'il n'y ait pas d'erreur |
70 |
|
|
$this->verifyNoErrors(); |
71 |
|
|
// on vérifie le numéro du dossier |
72 |
|
|
$this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text()); |
73 |
|
|
// on vérifie le nom de la page |
74 |
|
|
//html body#jqueryui div#content.ui-widget div#title.ui-state-active h2 |
75 |
|
|
$this->assertEquals("Demandes D'avis > Passées", $this->byCssSelector("div#title.ui-state-active h2")->text()); |
76 |
|
|
// on clique sur le portlet |
77 |
|
|
$this->byId("action-sousform-demande_avis_passee-consulter_pdf")->click();sleep(5); |
78 |
|
|
// Liste les fenêtres |
79 |
|
|
$windows = $this->windowHandles(); |
80 |
|
|
// Change la fenêtre |
81 |
|
|
$this->window($windows[1]); |
82 |
|
|
// On vérifie qu'il n'y ait pas d'erreur |
83 |
|
|
$this->verifynoerrors(); |
84 |
|
|
// On vérifie que le text est présent |
85 |
|
|
$this->assertRegExp("/^[\s\S]*Avis demandé - pour conformité[\s\S]*$/",$this->source()); |
86 |
|
|
$this->assertRegExp("/^[\s\S]*Direction de l'Eau et de l'Assainissement[\s\S]*$/",$this->source()); |
87 |
|
|
// On ferme la fenêtre |
88 |
|
|
$this->closeWindow(); |
89 |
|
|
// On change le focus de la fenêtre |
90 |
|
|
$this->window($windows[0]); |
91 |
|
|
// On se deconnecte |
92 |
|
|
$this->logout(); |
93 |
|
|
} |
94 |
|
|
|
95 |
|
|
/** |
96 |
|
|
* test sur l'export csv |
97 |
|
|
*/ |
98 |
|
|
public function test_02ExportCSV() { |
99 |
|
|
|
100 |
|
|
// On se connecte en tant que "consu" |
101 |
|
|
// !!! Attention on n'utilise pas la méthode login standard car |
102 |
|
|
// l'utilisateur est redirigé automatiquement vers un autre écran |
103 |
|
|
// sans voir le message de connexion !!! |
104 |
|
|
// On se connecte |
105 |
|
|
$this->connect("consu", "consu"); |
106 |
|
|
// Allonge le temps d'attente lors de la recherche d'élément |
107 |
|
|
$this->timeouts()->implicitWait(10000); |
108 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
109 |
|
|
$this->verifynoerrors(); |
110 |
|
|
// On temporise pour laisser le temps au javascript de redirection |
111 |
|
|
// de faire son travail |
112 |
|
|
sleep(1); |
113 |
|
|
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
114 |
|
|
$this->verifynoerrors(); |
115 |
|
|
// on clique sur le menu |
116 |
|
|
$this->byLinkText("Demandes Passées")->click(); |
117 |
|
|
// on vérifie qu'il n'y ait pas d'erreur |
118 |
|
|
$this->verifyNoErrors(); |
119 |
|
|
// on clique sur le bouton d'export csv |
120 |
|
|
$this->byXPath("//div[3]/div[2]/div/div/div/a/span")->click();sleep(2); |
121 |
|
|
// on vérifie qu'il n'y ait pas d'erreur |
122 |
|
|
$this->verifyNoErrors(); |
123 |
|
|
// On se deconnecte |
124 |
|
|
$this->logout(); |
125 |
|
|
} |
126 |
|
|
|
127 |
|
|
} |
128 |
|
|
?> |