1 |
<?php |
<?php |
2 |
/** |
/** |
3 |
* |
* Fichier contenant la classe test pour le service de consultation |
4 |
* |
* |
5 |
* @package openfoncier |
* @package openfoncier |
6 |
* @version SVN : $Id$ |
* @version SVN : $Id$ |
10 |
require_once "base.php"; |
require_once "base.php"; |
11 |
|
|
12 |
/** |
/** |
13 |
* |
* Classe test du service de consultation |
14 |
*/ |
*/ |
15 |
class ServiceConsulte extends BaseTestCase { |
class ServiceConsulte extends Base2TestCase { |
|
|
|
|
private function login() { |
|
|
// on commence par se connecter |
|
|
$this->connect("consu", "consu"); |
|
|
// On doit être connecté |
|
|
$this->assertTrue($this->isTextPresent("Votre session est maintenant ouverte.")); |
|
|
} |
|
|
|
|
|
private function logout() { |
|
|
// puis on se déconnecte |
|
|
$this->deconnect(); |
|
|
// on doit avoir un message nous indiquant que la session est finie |
|
|
$this->assertTrue($this->isTextPresent("Votre session est maintenant terminée.")); |
|
|
// on ne doit plus avoir de lien de déconnexion |
|
|
$this->assertFalse($this->isElementPresent("link=Déconnexion")); |
|
|
} |
|
16 |
|
|
17 |
|
// le test pour les avis en cours se fait dans testConsultations.php |
18 |
|
|
19 |
/** |
/** |
20 |
* |
* test sur les demandes d'avis passées |
21 |
*/ |
*/ |
22 |
public function testSaisieDemandeAvis() { |
public function testDemandesAvisPassees() { |
|
// |
|
|
$this->login(); |
|
|
$this->setSpeed('120'); |
|
|
|
|
|
$this->clickAndWait("link=Demandes en cours"); |
|
|
// Accès au dossier en visualisation |
|
|
$this->clickAndWait("link=AZ0130551200001P0"); |
|
|
$this->verifyNoErrors(); |
|
|
$this->verifyTextPresent("Demandes d'avis > en cours"); |
|
|
// Accès à l'onglet des consultations |
|
|
$this->click("//div[@id='portlet-actions']/ul/li/a/span"); |
|
|
$this->verifyTextPresent("consultations 2"); |
|
|
$this->verifyNoErrors(); |
|
|
// Validation sans retour d'avis |
|
|
$this->click("//input[@value='Modifier']"); |
|
|
$this->verifyNoErrors(); |
|
|
// Retour à la liste des demandes |
|
|
$this->click("css=form[name=\"f2\"] > div.formControls > a.retour"); |
|
|
|
|
|
// Accès au dossier en visualisation |
|
|
$this->clickAndWait("link=AZ0130551200001P0"); |
|
|
$this->verifyNoErrors(); |
|
|
$this->verifyTextPresent("Demandes d'avis > en cours"); |
|
|
// Accès à l'onglet des consultations |
|
|
$this->click("//div[@id='portlet-actions']/ul/li/a/span"); |
|
|
$this->verifyTextPresent("consultations 2"); |
|
|
$this->verifyNoErrors(); |
|
|
// Saisie de valeurs |
|
|
$this->select("id=avis_consultation", "label=Defavorable"); |
|
|
$this->type("id=motivation", "Pas motivé"); |
|
|
// Upload de fichier |
|
|
$this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s"); |
|
|
// Validation sans saisie de fichier |
|
|
$this->click("name=submit"); |
|
|
$this->verifyNoErrors(); |
|
|
$this->verifyTextPresent("Vous devez sélectionner un fichier."); |
|
|
// Saisie de fichier |
|
|
$this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf"); |
|
|
$this->click("name=submit"); |
|
|
$this->verifyNoErrors(); |
|
|
// Validation de la modification de la demande d'avis |
|
|
$this->click("//input[@value='Modifier']"); |
|
|
$this->verifyNoErrors(); |
|
|
$this->verifyTextPresent("Vos modifications ont bien été enregistrées."); |
|
|
|
|
|
// Retour à la liste des demandes |
|
|
$this->click("css=form[name=\"f2\"] > div.formControls > a.retour"); |
|
|
$this->verifyNoErrors(); |
|
|
// Vérification que la demande d'avis n'est plus presente |
|
|
$this->assertTextNotPresent("link=AZ0130551200001P0"); |
|
23 |
|
|
24 |
// |
// on se connecte à l'application |
25 |
|
$this->login("consu", "consu"); |
26 |
|
// on clique sur le menu |
27 |
|
$this->byLinkText("Demandes Passées")->click(); |
28 |
|
// on vérifie qu'il n'y ait pas d'erreur |
29 |
|
$this->verifyNoErrors(); |
30 |
|
// on clique sur un résultat |
31 |
|
$this->byLinkText("AZ0130551200001P0")->click(); |
32 |
|
// on vérifie qu'il n'y ait pas d'erreur |
33 |
|
$this->verifyNoErrors(); |
34 |
|
// on vérifie le numéro du dossier |
35 |
|
$this->assertEquals("AZ0130551200001P0", $this->byId("dossier")->text()); |
36 |
|
// on vérifie le nom de la page |
37 |
|
//html body#jqueryui div#content.ui-widget div#title.ui-state-active h2 |
38 |
|
$this->assertEquals("Demandes D'avis > Passées", $this->byCssSelector("div#title.ui-state-active h2")->text()); |
39 |
|
// on clique sur le portlet |
40 |
|
$this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();sleep(5); |
41 |
|
// Liste les fenêtres |
42 |
|
$windows = $this->windowHandles(); |
43 |
|
// Change la fenêtre |
44 |
|
$this->window($windows[1]); |
45 |
|
// On vérifie qu'il n'y ait pas d'erreur |
46 |
|
$this->verifynoerrors(); |
47 |
|
// On vérifie que le text est présent |
48 |
|
$this->assertRegExp("/^[\s\S]*Avis solicité pour conformité[\s\S]*$/",$this->source()); |
49 |
|
$this->assertRegExp("/^[\s\S]*Direction de l'Eau et de l'Assainissement[\s\S]*$/",$this->source()); |
50 |
|
// On ferme la fenêtre |
51 |
|
$this->closeWindow(); |
52 |
|
// On change le focus de la fenêtre |
53 |
|
$this->window($windows[0]); |
54 |
|
// On se deconnecte |
55 |
$this->logout(); |
$this->logout(); |
56 |
} |
} |
57 |
|
|
58 |
/** |
/** |
59 |
* |
* test sur l'export csv |
60 |
*/ |
*/ |
61 |
public function testDemandesAvisPassees() { |
public function testExportCSV() { |
|
// |
|
|
$this->login(); |
|
62 |
|
|
63 |
// |
// on se connecte à l'application |
64 |
$this->clickAndWait("link=Demandes passées"); |
$this->login("consu", "consu"); |
65 |
$this->verifyNoErrors(); |
// on clique sur le menu |
66 |
|
$this->byLinkText("Demandes Passées")->click(); |
67 |
// |
// on vérifie qu'il n'y ait pas d'erreur |
68 |
$this->clickAndWait("link=AZ0130551200001P0"); |
$this->verifyNoErrors(); |
69 |
|
// on clique sur le bouton d'export csv |
70 |
|
$this->byXPath("//div[3]/div[2]/div/div/div/a/span")->click();sleep(2); |
71 |
|
// on vérifie qu'il n'y ait pas d'erreur |
72 |
$this->verifyNoErrors(); |
$this->verifyNoErrors(); |
73 |
$this->verifyTextPresent("Demandes d'avis > passées"); |
// On se deconnecte |
|
// $this->click("//div[@id='portlet-actions']/ul/li/a/span"); |
|
|
// $this->waitForPopUp("", "30000"); |
|
|
// $this->selectPopUp(); |
|
|
// sleep(5); |
|
|
// $this->verifyNoErrors(); |
|
|
// $this->verifyTextPresent("Avis solicité pour conformité"); |
|
|
// $this->verifyTextPresent("Direction de l'Eau et de l'Assainissement"); |
|
|
// $this->close(); |
|
|
// $this->selectWindow(); |
|
|
// |
|
74 |
$this->logout(); |
$this->logout(); |
75 |
} |
} |
76 |
|
|