get_inst_om_application("admin", "admin"); // Template des requête permettant de récupérer les élèment voulus pour // l'insertion des données $sql_get_da = "SELECT dossier_autorisation_type FROM %sdossier_autorisation_type WHERE libelle = '%s'"; $sql_get_om_collectivite = "SELECT om_collectivite FROM %som_collectivite WHERE libelle = 'MARSEILLE'"; // Insertion en base de données des bibles répondant au différent cas d'usage $query = sprintf( 'INSERT INTO %1$sbible (bible, libelle, evenement, contenu, complement, dossier_autorisation_type, om_collectivite, precharge) VALUES (nextVal(\'%1$sbible_seq\'), \'libellé A\', (%2$s), \'contenu A\', 1, (%3$s), (%4$s), true), (nextVal(\'%1$sbible_seq\'), \'libellé B\', (%5$s), \'contenu B\', 2, null, (%4$s), true), (nextVal(\'%1$sbible_seq\'), \'libellé C\', null, \'contenu C\', 2, (%6$s), (%4$s), true), (nextVal(\'%1$sbible_seq\'), \'libellé D\', null, \'contenu D\', 1, null, (%4$s), true), (nextVal(\'%1$sbible_seq\'), \'libellé E\', (%2$s), \'contenu E\', null, (%3$s), (%4$s), true), (nextVal(\'%1$sbible_seq\'), \'libellé F\', (%2$s), \'contenu F\', null, (%3$s), (%4$s), false);', DB_PREFIXE, sprintf($this->sql_get_evenement, DB_PREFIXE, "Lettre d''information d''accès citoyen"), sprintf($sql_get_da, DB_PREFIXE, "Déclaration préalable"), sprintf($sql_get_om_collectivite, DB_PREFIXE), sprintf($this->sql_get_evenement, DB_PREFIXE, "affichage_obligatoire"), sprintf($sql_get_da, DB_PREFIXE, "Certificat d''urbanisme") ); $f->execute_db_query($query, array('origin' => __METHOD__,)); $f->__destruct(); return array( array(1, 'precharge', "contenu A
contenu D
contenu E
"), array(2, 'precharge', "contenu E
"), array(3, 'precharge', "contenu E
"), array(4, 'precharge', "contenu E
") ); } /** * Prépare les élèments nécessaire au différent test, à savoir : * - instancie l'application et la stocke dans une propriété * - Récupère l'identifiant de l'évènement "Lettre d'information d'accès citoyen" * qui sert de référence à la suite des tests * - instancie et stocke dans une propriété une instruction pour pouvoir faire * appel à ses méthodes dans la suite des tests */ public function common_setUp() { parent::common_setUp(); // Connexion à l'application $this->f = $this->get_inst_om_application("instr", "instr"); //Récupération de l'identifiant de l'évènement utilisé dans la suite des tests $qres = $this->f->get_one_result_from_db_query( sprintf($this->sql_get_evenement, DB_PREFIXE, "Lettre d''information d''accès citoyen"), array('origin' => __METHOD__) ); $this->evenement = $qres['result']; // Récupération d'une instance d'instruction pour pouvoir appeler les différentes méthodes $this->instruction = $this->f->get_inst__om_dbform(array( 'obj' => 'instruction', 'idx' => 0 )); } /** * Vérifie que la méthode instruction::getBible renvoie bien les textes attendus selon le * paramétrage fournis. * * @dataProvider bibleProvider * * @param integer $complement : numéro du complément sur lequel le texte de bible s'applique * @param string $type : type de complément à récupérer (precharge ou automatique) * @param string $contenu : contenu attendu en retour de la méthode getBible */ public function testGetBible($complement, $type, $contenu) { $contenu_bible = $this->instruction->getBible($this->evenement, $this->dossier, $complement, $type); $this->assertSame($contenu, $contenu_bible); } /** * Vérifie que la méthode instruction::set_precharge_complement set correctement les valeurs * du formulaire d'instruction (remplissage de la propriété valF). * * @depends testGetBible */ public function testSetPrechargeComplement() { $this->instruction->set_precharge_complement($this->evenement, $this->dossier); $expected_val_by_comp = array( "contenu A
contenu D
contenu E
", "contenu E
", "contenu E
", "contenu E
" ); // Vérifie pour les 4 premiers compléments qu'ils ont bien été rempli dans valF for ($i = 1; $i <= count($expected_val_by_comp); $i++) { $field = "complement".($i === 1 ? '' : $i)."_om_html"; $this->assertSame($expected_val_by_comp[$i - 1], $this->instruction->valF[$field]); } } /** * Méthode lancée en fin de traitement */ public function common_tearDown() { parent::common_tearDown(); $this->clean_session(); // Destruction de la classe *om_application* $this->f->__destruct(); } }